From 3f30c439b18b5f3006b81ba080f32be104f3a2d1 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 01:55:09 +0000 Subject: [PATCH 01/17] =?UTF-8?q?=EC=8B=9C=EC=9E=91=20=E2=80=94=20?= =?UTF-8?q?=ED=8C=A8=ED=84=B4=20=EC=97=B0=EA=B5=AC=2091=ED=8C=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV From 86001d99a1c135950cdb22751d82246830c7443d Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:28:03 +0000 Subject: [PATCH 02/17] =?UTF-8?q?Tollard=20=EC=B2=AB=20=ED=8C=90:=20?= =?UTF-8?q?=EC=A2=85=20=ED=88=AC=EA=B5=AC=EC=9D=98=20=EA=B0=91=EC=98=B7=20?= =?UTF-8?q?=EA=B8=B0=EC=82=AC=EA=B0=80=20=EB=AF=B8=EB=8A=98=EC=B0=BD?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=B0=8C=EB=A5=B4=EA=B3=A0=20=EB=82=B4?= =?UTF-8?q?=EB=A0=A4=EC=B0=8D=EB=8A=94=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 작품 2 의 첫 캐릭터. 카드, 실루엣 네 안과 리그, 셀 열한 장의 첫 판. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/brief.md | 37 + incoming/pattern-study/craft/tollard/log.md | 8 + .../craft/tollard/silhouettes-91.png | Bin 0 -> 16937 bytes incoming/pattern-study/patterns/tollard.js | 854 ++++++++++++++++++ 4 files changed, 899 insertions(+) create mode 100644 incoming/pattern-study/craft/tollard/brief.md create mode 100644 incoming/pattern-study/craft/tollard/log.md create mode 100644 incoming/pattern-study/craft/tollard/silhouettes-91.png create mode 100644 incoming/pattern-study/patterns/tollard.js diff --git a/incoming/pattern-study/craft/tollard/brief.md b/incoming/pattern-study/craft/tollard/brief.md new file mode 100644 index 00000000..a244edb0 --- /dev/null +++ b/incoming/pattern-study/craft/tollard/brief.md @@ -0,0 +1,37 @@ +slug: tollard +작품: 2 + +# Tollard + +무너진 성당 종탑의 계단을 백 년째 지키는 저주받은 갑옷 기사예요. 종 모양 청동 투구 아래 얼굴은 보이지 않고, 핏빛 겉옷이 검게 그은 쇠 갑옷 위에서 해져 흔들려요. 성 안 회랑에서 주인공 앞을 막아서는 적이에요. + +11월 2일 91판(PR #357)에 작품 2 의 첫 캐릭터로 시작했어요. 작품 1 이 끝나 작품 2 폴더가 하나도 없어서 「자리 고르기」 4번대로 새 캐릭터예요. + +- 역할: 적 +- 성격: 육중함, 냉혹함 +- 무기와 공격: 미늘창이에요. 자루 끝에 초승달 도끼날, 찌르는 창끝, 뒤 갈고리가 달려 있어요. 앞(오른쪽)을 수평으로 찌르고, 둘째 동작으로 머리 위에서 앞 바닥을 내려찍어요. +- 시그니처 동작: 한 발 크게 내디디며 미늘창을 수평으로 내지르는 찌르기예요. 창이 패널을 가로질러 앞 끝을 넘고, 뒷발부터 창끝까지 몸이 사선 하나로 늘어나요. 해진 겉옷 자락이 한 박 늦게 뒤로 넘쳐요. +- 재질과 단: 검게 그은 쇠 갑옷 3단(무채색, 살짝 찬 쪽), 청동 종 투구 3단(밝을수록 노랑 쪽), 핏빛 천 겉옷 3단(밝을수록 주홍 쪽), 미늘창 쇠날 3단(무채색, 갑옷보다 밝게), 나무 자루 2단(밝을수록 노랑 쪽). +- 주색과 강조색: 핏빛 진홍(겉옷)이 주색, 청동(투구)이 강조색이에요. 채도는 이 둘에만 몰고, 갑옷과 창날은 무채색이에요. +- 시대 결: 16비트 끝에서 GBA 사이예요. +- 외곽선 길: 나. 어두운 성 돌 배경 한 색 위에 순검정 외곽선이에요. +- 비례: 6등신 안팎이에요. 쉬기 키 52~58 에 투구 높이 9~10 이에요. +- 동작: 쉬기 말고 둘이에요. 1) 찌르기(시그니처), 2) 내려찍기. 쉬기에서는 갑옷 덩어리는 그대로이고, 숨 1 픽셀과 겉옷 자락만 움직여요. + +노브 넷과 버튼이에요. + +- K1 동작: 범위 [0, 2]. 0 은 찌르기와 내려찍기를 차례로, 1 은 찌르기만, 2 는 내려찍기만 쉬기 사이에 되풀이해요. +- K2 빠르기: 범위 [0.5, 3]. 빠르기는 K2 ÷ 2 이고 2 가 그린 그대로예요. +- K3 팔레트 바꾸기: 손으로 만든 네 벌이에요. 0 검은 쇠에 핏빛 겉옷(흔한 적), 1/4 녹슨 쇠에 이끼 초록 겉옷, 1/2 금빛 갑옷에 검보라 겉옷(센 적), 3/4 흰 은갑에 청색 겉옷. +- K4 배경: 손으로 고른 네 벌이에요. 0 짙은 파랑 성 돌, 1/4 보라 지하 묘실, 1/2 청록 물길, 3/4 무채색 회색 돌. +- 버튼: 없어요. + +닮으면 안 되는 캐릭터 셋과, 각각과 다른 점 둘이에요. + +- 악마성 시리즈의 도끼 던지는 갑옷 기사: 도끼를 던지지 않고 미늘창을 손에 쥐고 찌르고 내려찍어요. 닫힌 투구가 아니라 아래로 벌어진 종 모양 청동 투구에 핏빛 겉옷을 걸쳐요. +- 마계를 건너는 횡스크롤 게임의 은빛 갑옷 기사 주인공: 주인공이 아니라 막아서는 적이고, 은빛 갑옷이 아니라 검은 쇠에 청동 투구예요. 창을 던지지 않고 쥔 채 찔러요. +- 어두운 판타지 액션 게임의 검은 기사: 대검과 방패가 없이 미늘창 하나예요. 뿔 달린 검은 투구가 아니라 종 모양 청동 투구이고 핏빛 겉옷이 해져 있어요. + +## 형제 캐릭터 + +작품 2 의 첫 캐릭터라 README 「공들이기」 표에 작품 2 캐릭터가 아직 없어요. 같이 도는 바퀴가 밝힌 새 캐릭터도 이 카드를 쓸 때는 없었어요. diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md new file mode 100644 index 00000000..e82c07e3 --- /dev/null +++ b/incoming/pattern-study/craft/tollard/log.md @@ -0,0 +1,8 @@ +상태: a 깎는 중 + +## 91판 (바퀴 89) · 길 a · 시작 3f30c43 +- 정지 프레임 t=2 · 노브 [0, 2, 0, 0.06] +- 리그(첫 바퀴만): 안 1 3승 · 안 4 2승 · 안 3 1승 · 안 2 0승 → 길 a 안 1, 길 b 안 4 +- 안 1~4: 미늘창을 곁에 세우고 허리 짚은 육중한 기사가 반쯤 치켜든 뒤 허리 높이로 찌름, 투구 깃의 가는 기사가 창을 어깨에 메고 머리 위에서 내리찍듯 찌름, 머리가 어깨에 묻힌 거한이 창끝을 발치로 내렸다가 머리를 숙이고 허리로 들이받음, 망토 기사가 창끝을 앞아래로 겨눴다가 옆구리에 끼고 한 손으로 내지름 +- 리그 판정이 짚은 것: 이긴 안 1 도 쉬기가 차렷에 가깝고 자루가 가늘다(넷), 종 투구가 실루엣만으로는 고깔이나 두건으로 읽힌다(여럿) +- 첫 판: 셀 11(쉬기 3 · 찌르기 4 · 내려찍기 4) · 17색 · 쉬기 키 55(투구 8, 6.9등신) · 노브 K1 0.07 · K2 0.15 · K3 0.06 · K4 0.05 · 한 프레임 깜빡임 0 diff --git a/incoming/pattern-study/craft/tollard/silhouettes-91.png b/incoming/pattern-study/craft/tollard/silhouettes-91.png new file mode 100644 index 0000000000000000000000000000000000000000..7b90d54a11ef36ab6d8981318fd86088df2d8c85 GIT binary patch literal 16937 zcmeHvc|6qX`?nT^X-Zj!&_PN@)+l2syHZ(Vn#sY4A!MlxQQF29Qq+)rOEIRJNXpt! zvTvb7Aw@({mPD%O`i!=7zUO-GF|oVh>ueQlrnbKTeVzOK77=DUoS z@{00uaBwW$W@2E;!Li^x2ghQ}l7%pGg9~$pgG2Z2HUnL&BS~+POk?gFMHx_%?tbA^ z{+*^dMI%-N3dbPTuz+!sKm#yo+_~{p1?@kv!$+sD0HpKaCA-Zy9z=As` zE8hm$aVR`f()z#p(J%MQH(8B@S2!HeQ(S(Ub(+@97er!`WF{9%V&n-trCXP9@!|jc z(Y=j+(oid-;#jW_fan>n~5SbKS>oWO|7T?Qotd@&4~5@C6TKT}|AuRq4qpMK^;z#~#= z&TdU9<17XJcM4pl#`lG(ocab)+igRh+oEEl!W6mqLc+voMW_eGAOOETu;SN{qlkq2 zQA8NDPG{|P<2zu=&><`0*gj@sS6<3W|FuBEM}yArQzp205Sz|uU0|J-EE2QsD8?}I zZ!-oBQff%7<+f3BBeuhp)wTI@Pl~7M6kjp

DiE^+_68w&wxq>`3I?aUmdmX=xxC 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 literal 0 HcmV?d00001 diff --git a/incoming/pattern-study/patterns/tollard.js b/incoming/pattern-study/patterns/tollard.js new file mode 100644 index 00000000..4a16b398 --- /dev/null +++ b/incoming/pattern-study/patterns/tollard.js @@ -0,0 +1,854 @@ +// ===== Patternflow pattern ===== +// Title: Tollard +// Family: pixel +// Idea: A castle-game enemy sprite drawn at two LEDs to the pixel: Tollard, a cursed knight who has kept the stair of a fallen bell tower for a hundred years. A bronze bell-shaped helm hides his face but for one ember in the visor slit, a torn blood-red tabard hangs over blackened plate, and he holds a halberd upright beside him. He breathes a pixel and the tabard tail sways, then he hoists the halberd overhead and drives it level across the panel in a long lunge, and after a beat lifts it back over his head and chops the floor in front of him. +// Author: patternflow-lab +// Date: 2026-11-02 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// Lineage: original, pattern round 91 +// Round: 91 +// =============================== +// @matrix 64x128 +// @knobs Action=0..2, Speed=0.5..3, Paint=0..1, Wall=0..1 +// +// Knob 1: Action. 0 plays the thrust and the chop in turn, 1 only the thrust, 2 only the chop, each between rests. +// Knob 2: Speed. Half the knob is the speed: 2 plays the cells as timed, 0.5 at a quarter, 3 at one and a half. +// Knob 3: Paint. Four hand-made palettes on the same pixels: blackened iron and blood red below 0.25, rusted iron and moss from 0.25, gilded plate and grape (the strong one) from 0.5, white silver and blue from 0.75. +// Knob 4: Wall. The flat castle stone behind him: night blue below 0.25, crypt violet from 0.25, cistern teal from 0.5, grey from 0.75. + +const W = 64, H = 128, AW = 32, AH = 64; +// Each cell is the whole sprite on the 32 x 64 art grid, one character per art +// pixel (an art pixel is 2 x 2 LEDs) and "." where the wall shows. Materials run +// light to dark: iron a b c, bronze d e f, cloth g h i, steel j k l, wood m n. +// K is the black outline and inner line, o the ember in the visor, w the glint. +// x y are the arc the chop leaves and u v the dust it raises; they keep their colours in every paint. +const CELLS = { + idle: [ + ".........................KwK.Kjj", + ".........................KjKKjjj", + ".........................KjKlkkk", + "........................KKjlkkkk", + ".......................Klkkkkkkk", + "......................Klkkkkkkkk", + ".......................KKlklkkkk", + ".........................KkKlkkk", + "...............KK........KkKKlkk", + "..............KddK.......KkK.Kll", + ".............KfeedK......KmK..KK", + "............KffeeddK.....KmK....", + "............KffeeeddK....KmK....", + "............KffeeeddK....KmK....", + "............KfKKKKKoK....KmK....", + "............KffeeeeddK...KmK....", + "...........KfffeeeeeddK..KmK....", + "..........KfffeeeeeeddK..KmK....", + "..........KKKKKKKKKKKK...KmK....", + "........KKcccccbbKKaaK...KmK....", + ".......KcccccccbKbaKaaK..KmK....", + ".......KcccccccKccbaKaK..KmK....", + ".......KcccccccKccbaKbK..KmK....", + ".......KccccccccKccbaK...KmK....", + "......KcKKccccccKccbaaK..KmK....", + "......KccKcccccccKccbaK..KmK....", + ".....KcabKcccccbbKcccaaK.KmK....", + ".....KcbaKcccccbbbKccbaaKKmK....", + ".....KccbaKccccbbbaKccbbcaK.....", + ".....KcccbKccccbbbaKccccbaaK....", + "......KccbKKKKKKKKKKKKccbbaaK...", + ".......KcbKnnnnnnnnnK.KKcbbK....", + "........KcKnnnnnnnnnK...KcK.....", + "........KcKKKKKKKKKK.....KmK....", + ".........KKiiiihhhggK....KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + "........KKiiiiiihhhhggK..KmK....", + ".......KiKiiiiiihhhhggK..KmK....", + "........KiiiiiihhhhgggK..KmK....", + "........KiiiiiihhhhgggK..KmK....", + "........KiiiiiihhhhgggK..KmK....", + ".......KiKiiKiiKhhKggK...KmK....", + "......KihgKKbKK.KKcKKaK..KmK....", + "......KihgKcbaaKKccbaaK..KmK....", + "......KihgKcbaaKKccbbaK..KmK....", + "......KihgKcbaK.KcccccaK.KmK....", + "......KhKKcccaK..KccaacK.KmK....", + ".......KKccbacK..KccbaaK.KmK....", + "........KcccbcK..KcccbcK.KmK....", + "........KccccaK..KccccaK.KmK....", + "........KccbaaK..KcccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KcbaaK....KcbaaK.KmK....", + ".......KcbbaaK...KcbbaaK.KmK....", + ".......KcbbaaaK..KcbbaaaKKmK....", + ".......KccbbaaaK.KccbbaaaKmK....", + ".......KccbbaaaK.KccbbaaaKmK....", + ], + idle1: [ + ".........................KwK.Kjj", + ".........................KjKKjjj", + ".........................KjKlkkk", + "........................KKjlkkkk", + ".......................Klkkkkkkk", + "......................Klkkkkkkkk", + ".......................KKlklkkkk", + ".........................KkKlkkk", + "...............KK........KkKKlkk", + "..............KddK.......KkK.Kll", + ".............KfeedK......KmK..KK", + "............KffeeddK.....KmK....", + "............KffeeeddK....KmK....", + "............KffeeeddK....KmK....", + "............KfKKKKKoK....KmK....", + "............KffeeeeddK...KmK....", + "...........KfffeeeeeddK..KmK....", + "..........KfffeeeeeeddK..KmK....", + "..........KKKKKKKKKKKK...KmK....", + "........KKcccccbbKKaaK...KmK....", + ".......KcccccccbKbaKaaK..KmK....", + ".......KcccccccKccbaKaK..KmK....", + ".......KcccccccKccbaKbK..KmK....", + ".......KccccccccKccbaK...KmK....", + "......KcKKccccccKccbaaK..KmK....", + "......KccKcccccccKccbaK..KmK....", + ".....KcabKcccccbbKcccaaK.KmK....", + ".....KcbaKcccccbbbKccbaaKKmK....", + ".....KccbaKccccbbbaKccbbcaK.....", + ".....KcccbKccccbbbaKccccbaaK....", + "......KccbKKKKKKKKKKKKccbbaaK...", + ".......KcbKnnnnnnnnnK.KKcbbK....", + "........KcKnnnnnnnnnK...KcK.....", + "........KcKKKKKKKKKK.....KmK....", + ".........KKiiiihhhggK....KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiiihhhhggK..KmK....", + ".........KiiiiiihhhhggK..KmK....", + "........KiiiiiihhhhgggK..KmK....", + "........KiiiiiihhhhgggK..KmK....", + "........KiiiiiihhhhgggK..KmK....", + ".......KiKiiKiiKhhKggK...KmK....", + ".......KihKKbKK.KKcKKaK..KmK....", + ".......KihgKbaaKKccbaaK..KmK....", + ".......KihgKbaaKKccbbaK..KmK....", + ".......KihgKbaK.KcccccaK.KmK....", + ".......KhKKccaK..KccaacK.KmK....", + "........KccbacK..KccbaaK.KmK....", + "........KcccbcK..KcccbcK.KmK....", + "........KccccaK..KccccaK.KmK....", + "........KccbaaK..KcccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KcbaaK....KcbaaK.KmK....", + ".......KcbbaaK...KcbbaaK.KmK....", + ".......KcbbaaaK..KcbbaaaKKmK....", + ".......KccbbaaaK.KccbbaaaKmK....", + ".......KccbbaaaK.KccbbaaaKmK....", + ], + idle2: [ + ".........................KwK.Kjj", + ".........................KjKKjjj", + ".........................KjKlkkk", + "........................KKjlkkkk", + ".......................Klkkkkkkk", + "......................Klkkkkkkkk", + ".......................KKlklkkkk", + ".........................KkKlkkk", + "...............KK........KkKKlkk", + "..............KddK.......KkK.Kll", + ".............KfeedK......KmK..KK", + "............KffeeddK.....KmK....", + "............KffeeeddK....KmK....", + "............KffeeeddK....KmK....", + "............KfKKKKKoK....KmK....", + "............KffeeeeddK...KmK....", + "...........KfffeeeeeddK..KmK....", + "..........KfffeeeeeeddK..KmK....", + "..........KKKKKKKKKKKK...KmK....", + "........KKcccccbbKKaaK...KmK....", + ".......KcccccccbKbaKaaK..KmK....", + ".......KcccccccKccbaKaK..KmK....", + ".......KcccccccKccbaKbK..KmK....", + ".......KccccccccKccbaK...KmK....", + "......KcKKccccccKccbaaK..KmK....", + "......KccKcccccccKccbaK..KmK....", + ".....KcabKcccccbbKcccaaK.KmK....", + ".....KcbaKcccccbbbKccbaaKKmK....", + ".....KccbaKccccbbbaKccbbcaK.....", + ".....KcccbKccccbbbaKccccbaaK....", + "......KccbKKKKKKKKKKKKccbbaaK...", + ".......KcbKnnnnnnnnnK.KKcbbK....", + "........KcKnnnnnnnnnK...KcK.....", + "........KcKKKKKKKKKK.....KmK....", + ".........KKiiiihhhggK....KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + ".........KiiiiihhhhggK...KmK....", + "........KKiiiiihhhhggK...KmK....", + ".......KiKiiiiiihhhhggK..KmK....", + ".......KiKiiiiiihhhhggK..KmK....", + ".......KKiiiiiihhhhgggK..KmK....", + "......KiKiiiiiihhhhgggK..KmK....", + "......KiKiiiiiihhhhgggK..KmK....", + "......KihKiiKiiKhhKggK...KmK....", + "......KihgKKbKK.KKcKKaK..KmK....", + ".....KihggKcbaaKKccbaaK..KmK....", + ".....KihgKccbaaKKccbbaK..KmK....", + ".....KihgKccbaK.KcccccaK.KmK....", + ".....KhKKccccaK..KccaacK.KmK....", + "......K.KccbacK..KccbaaK.KmK....", + "........KcccbcK..KcccbcK.KmK....", + "........KccccaK..KccccaK.KmK....", + "........KccbaaK..KcccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KccbaK....KccbaK.KmK....", + "........KcbaaK....KcbaaK.KmK....", + ".......KcbbaaK...KcbbaaK.KmK....", + ".......KcbbaaaK..KcbbaaaKKmK....", + ".......KccbbaaaK.KccbbaaaKmK....", + ".......KccbbaaaK.KccbbaaaKmK....", + ], + ready1: [ + ".........................KkKlkkk", + ".........................KkKKlkk", + ".........................KkK.Kll", + ".........................KmK..KK", + ".........................KmK....", + ".........................KmK....", + ".........................KmK....", + ".........................KmK....", + ".........................KmK....", + "..............KK.........KmK....", + ".............KddK........KmK....", + "............KfeedK.......KmK....", + "...........KffeeddK......KmK....", + "...........KffeeeddK.....KmK....", + "...........KffeeeddK.....KmK....", + "...........KfKKKKKoK.....KmK....", + "...........KffeeeeddK....KmK....", + "..........KfffeeeeeddK...KmK....", + ".........KfffeeeeeeddK..KKK.....", + ".........KKKKKKKKKKKK..KaaaK....", + "........KccccccbKKKaK.KbbbaaK...", + ".......KcccccccKaaaKKKcccbbaK...", + ".......KcccccccKbbbaaabcccbK....", + ".......KcccccccKcccbabcccKK.....", + ".......KcccccccKccccbccKKKmK....", + "......KcKcccccccKKKKcccK.KmK....", + ".....KccKcccccbcccccKKK..KmK....", + ".....KbabKcccccbbbaaK....KmK....", + "....KccaaKcccccbbbaaK....KmK....", + "....KccbaKcccccbbbaaK....KmK....", + ".....KccbKccccbbbaaK.....KmK....", + "......KccKKKKKKKKKK......KmK....", + ".......KcKnnnnnnnnnK.....KmK....", + ".......KcKnnnnnnnnnK.....KmK....", + "........KKKKKKKKKKKgK....KmK....", + ".........KiiiiihhhggK....KmK....", + ".........KiiiiihhhggK....KmK....", + ".........KiiiiihhhggK....KmK....", + "........KKiiiiihhhhggK...KmK....", + ".......KiKiiiiihhhhggK...KmK....", + "........KiiiiiihhhhggK...KmK....", + "........KiiiiiihhhhggK...KmK....", + ".......KKiiiiiihhhhggK...KmK....", + "......KiKiiiiiihhhhggK...KmK....", + "......KiKiiiiiihhhhgggK..KmK....", + "......KiKiiiiiihhhhgggK..KmK....", + "......KihKiiKiiKhhKggK...KmK....", + "......KihgKKbKK.KKcKKaK..KmK....", + ".....KihgKcbbaK.KccbbaK..KmK....", + ".....KihgKcbaaK.KcccbaaK.KmK....", + ".....KihgKccaaK..KcccccK.KmK....", + ".....KhKKcaacK...KccbaaK.KmK....", + "......KKccbaaK...KcccbbK.KmK....", + ".......KcccbcK....KccccK.KmK....", + ".......KccccaK....KccbaK.KmK....", + ".......KccbaaK....KccbaK.KmK....", + ".......KccbaaK....KccbaK.KmK....", + ".......KccbaaK....KccbaaK.K.....", + ".......KccbaaK....KccbaaK.......", + ".......KcbaaaK....KcbaaaK.......", + ".......KcbbaaK....KcbbaaK.......", + ".......KcbbaaK....KcbbaaaK......", + ".......KcbbaaaK...KccbbaaaK.....", + ".......KccbbaaaK..KccbbaaaaK....", + ], + tele1: [ + "................................", + "................................", + "................................", + "................................", + "................................", + "..........................K.....", + "........KK.....KK........KlK....", + ".......KaaK...KaaK.......KklK...", + "KKKKKKKbaaaKKKbaaaKKKKKKKlkkKKKK", + "mmmmmmKcbbaKmKcbbaKmmmkkkkkkjjjw", + "KKKKKKKccbbKKKccbbKKKKKKKlkklKKK", + "......KcccKKKKccccK....KlkkkklK.", + "......KcccKddKcccaK...KlkkkkkkjK", + ".....KccbKfeeKccbaK..Klkkkkkkkjj", + ".....KccKffeeKccbaK..Klkkkkkkkjj", + ".....KcbKffeeKccbaK...KlkkkkkjjK", + "....KccbKffeeKccbaK....KllljjjK.", + "....KccbKfKKKKccbaK.....KKKKKK..", + "....KccaKffeeKccbaK.............", + "....KccKfffeKccbaK..............", + "....KcKfffeeKccbaK..............", + "....KcKKKKKKKccbaK..............", + "....KKcccccbKccaaK..............", + "...KcccccccKccbaKaK.............", + "...KcccccccKccbaKaK.............", + "...KcccccccKccbaKbK.............", + "...KccccccccKcaKbbK.............", + "....KKcccccccKKccK..............", + ".....KccccccccccK...............", + ".....KcccccbbbaaK...............", + "......KccccbbbaaK...............", + "......KccccbbbaaK...............", + "......KccccbbbaaK...............", + ".......KKKKKKKKK................", + "......KnnnnnnnnnK...............", + "......KnnnnnnnnnK...............", + ".......KKKKKKKKKgK..............", + "......KiiiiihhhggK..............", + "......KiiiiihhhggK..............", + "......KiiiiihhhggK..............", + ".....KKiiiiihhhhggK.............", + "....KiKiiiiihhhhggK.............", + ".....KiiiiiihhhhggK.............", + ".....KiiiiiihhhhggK.............", + ".....KiiiiiihhhhggK.............", + "....KKiiiiiihhhhggK.............", + "...KiKiiiiiihhhhgggK............", + "...KiKiiiiiihhhhgggK............", + "...KihKiiKiiKhhKggKaK...........", + "...KigKKKaKK.KKcKKbaaK..........", + "..KihgKcbaaK..KcccccccK.........", + "..KihgKccaK....KcccbaaK.........", + "...KKKcaacK.....KcccbaK.........", + "...KccbbacK.....KcccccK.........", + "....KcccbK.......KccbaK.........", + "....KccccK.......KccbaaK........", + "....KccbaK.......KccbbaK........", + "....KccbaK........KccbaK........", + "....KccbaaK.......KccbaK........", + "....KcbaaaK.......KcbaaaK.......", + "....KcbbaaK.......KcbbaaK.......", + "....KcbbaaK.......KcbbaaaK......", + "....KcbbaaaK......KccbbaaaK.....", + "....KccbbaaaK.....KccbbaaaaK....", + ], + hit1: [ + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + ".............KK.................", + "............KddK................", + "...........KfeedK...............", + "..........KffeeddK..............", + "..........KffeeeddK.............", + "..........KffeeeddK.............", + "..........KfKKKKKoK.............", + "..........KffeeeeddK............", + ".........KfffeeeeeddK...........", + "........KfffeeKKKKKdK...........", + ".......KKKKKKKaaaaaK............", + "......KccccccbbKKKaaK...........", + "......KcccccccKbaaKKaK..........", + ".....KccccccccKcbbaaK...........", + "......KcccccccKccccbaK..........", + "......KccccccccKcccbaK..........", + ".......KccccccccKKcbaK....K.....", + ".......KcccKcbcccKcccK...KlK....", + ".......KccKaKbbaaKaaaK...KklK...", + "KKKKKKKKKKbaaKKKKbbbaaKKKlkkKKKK", + "mmmmmmmmKcbbaaKmKccbbaKkkkkkjjjw", + "KKKKKKKKKKcbbKKK.KccbK.KKlkklKKK", + ".....KnnnnKcKnnK..KKK..KlkkkklK.", + "......KKKKKKKKKgK.....KlkkkkkkjK", + "....KKiiiiihhhggK....Klkkkkkkkjj", + "...KiKiiiiihhhggK....Klkkkkkkkjj", + "..KihKiiiiihhhggK.....KlkkkkkjjK", + ".KihgKiiiiihhhhggK.....KllljjjK.", + "KihgKiiiiiihhhhggK......KKKKKK..", + "ihgKKiiiiiihhhhggK..............", + "KKK.KiiiiiihhhhggK..............", + "....KiiiiiihhhhggK.K............", + "....KiiiiiihhhhgggKaKK..........", + "....KiiiiiihhhhgggKaccK.........", + "....KiKiiKihKhhKggKcaacK........", + ".....KcKKaKK.KKcKKccbaaK........", + "....KcccbaK....KKccccbcK........", + "....KccccaK......KKcccaK........", + "....KcbaacK.......KccbaK........", + "....KccbbK........KccbaK........", + "...KcccccK........KccbaaK.......", + "...KccbaaK........KccbaaK.......", + "...KccbaK.........KcccbaK.......", + "..KcbaaaK..........KcbaaK.......", + "..KcbbaaK.........KcbbaaK.......", + "..KcbbaaK.........KcbbaaaKK.....", + "..KcbbaaaK........KccbbaaaaK....", + "..KccbbaaaK.......KccbbaaaaK....", + ], + rec1: [ + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "............KK..................", + "...........KddK.................", + "..........KfeedK................", + ".........KffeeddK...............", + ".........KffeeeddK..............", + ".........KffeeeddK..............", + ".........KfKKKKKoK..............", + ".........KffeeeeddK.............", + "........KfffeeeeeddK............", + ".......KfffeeeeeeddK............", + ".......KKKKKKKKKKKK.............", + "......KccccccbKKKaK.............", + ".....KcccccccKcbaKaK............", + ".....KcccccccKcbaKaaK...........", + ".....KcccccccKccbaKaK...........", + ".....KcccccccKccbaKK............", + ".....KKcccccccKcccaK............", + "....KcKcccccbcKcccaK............", + "....KccKcccccbbKcbaK............", + "....KccKccccbbKccbaK......K.....", + ".....KcKcKKcbbKccaK......KlK....", + "......KKKaaKbbKaacK......KklK...", + "KKKKKKKKbbaaKKbbaaKKKKKKKlkkKKKK", + "mmmmmmmKcbbaKKcbbaKmmmkkkkkkjjjw", + "KKKKKKK.KccKKKKccK.KKKKKKlkklKKK", + ".......KKKKKKKKKKK.....KlkkkklK.", + ".......KiiiiihhhggK...KlkkkkkkjK", + "......KiiiiihhhhggK..Klkkkkkkkjj", + ".....KKiiiiihhhhggK..Klkkkkkkkjj", + "....KiKiiiiihhhhggK...KlkkkkkjjK", + "....KiKiiiiihhhhggK....KllljjjK.", + "...KihKiiiiihhhhggK.....KKKKKK..", + "...KihKiiiiiihhhhggK............", + "..KihgKiiiiiihhhhggK............", + "..KihKiiiiiihhhhgggK............", + ".KihgKiiiiiihhhhgggK............", + ".KihgKKiiKiiKhhKggKK............", + "KihgK.KKKbKK.KKcKKaaK...........", + ".KKK.KcccbaaK.KcccbccK..........", + ".....KcccbaK..KccccaacK.........", + ".....KccccaK...KcccbaaK.........", + ".....KcbaacK....KcccbcK.........", + ".....KccbbK......KcccaK.........", + ".....KccccK......KccbaK.........", + ".....KccbaK......KccbaK.........", + ".....KccbaK......KccbaaK........", + ".....KccbaK......KcccbaK........", + ".....KcbaaK.......KcbaaK........", + "....KcbbaaK......KcbbaaK........", + "....KcbbaaaK.....KcbbaaaKK......", + "....KccbbaaaK....KccbbaaaaK.....", + "....KccbbaaaK....KccbbaaaaK.....", + ], + ready2: [ + "........................KmK.....", + "........................KmK.....", + "........................KmK.....", + "........................KmK.....", + "........................KmK.....", + "........................KmK.....", + "........................KmK.....", + "........................KmK.....", + "........................KmK.....", + "........................KmK.....", + "..............KK........KmK.....", + ".............KddK.......KmK.....", + "............KfeedK......KmK.....", + "...........KffeeddK....KKK......", + "...........KffeeeddK..KaaaK.....", + "...........KffeeeddK.KbbbaaK....", + "...........KfKKKKKoK.KccbbaK....", + "...........KffeeeeddKKcccbK.....", + "..........KfffeeeeedKcccKK......", + ".........KfffeeKKKKKacbaKmK.....", + "........KKKKKKKaaKaaccbaKmK.....", + ".......KccccccbKKaabcbaKKmK.....", + "......KcccccccKaabbccacKKmK.....", + "......KcccccccKbbccccKK.KmK.....", + "......KcccccccKccccKK...KmK.....", + "......KKcccccccKKKKcK...KmK.....", + ".....KccKccccccccccK....KmK.....", + ".....KbaKcccccbccccK....KmK.....", + "....KccaKcccccbbbaaK....KmK.....", + "....KccbKcccccbbbaaK....KmK.....", + ".....KccbKccccbbbaaK....KmK.....", + "......KccKccccbbbaaK....KmK.....", + ".......KcKKKKKKKKKK.....KmK.....", + ".......KcKnnnnnnnnnK....KmK.....", + "........KKnnnnnnnnnK....KmK.....", + ".........KKKKKKKKKKK....KmK.....", + ".........KiiiiihhhggK...KmK.....", + "........KiiiiihhhhggK...KmK.....", + "........KiiiiihhhhggK...KmK.....", + "........KiiiiihhhhggK...KmK.....", + "........KiiiiihhhhggK...KmK.....", + "........KiiiiihhhhggK...KmK.....", + ".......KKiiiiiihhhhggK..KmK.....", + "......KiKiiiiiihhhhggK..KmK.....", + ".......KiiiiiihhhhgggK..KmK.....", + ".......KiiiiiihhhhgggK...K......", + "......KKiKiiKihKhhKggK..........", + ".....KihKgKKaKK.KKbKKK..........", + ".....KihgKcbaaKKcccbaaK.........", + ".....KihgKcbaK..KcccbaaK........", + ".....KihgKbbaK..KccccccK........", + ".....KhKKcccaK...KccbaaK........", + "......KKcbaacK...KcccbbK........", + ".......KccbbK.....KccccK........", + ".......KccccK.....KccbaK........", + ".......KccbaK.....KccbaK........", + ".......KccbaK.....KccbaK........", + ".......KccbaK.....KccbaaK.......", + ".......KccbaK.....KccbaaK.......", + ".......KcbaaK.....KcbaaaK.......", + "......KcbbaaK.....KcbbaaK.......", + "......KcbbaaaK....KcbbaaaK......", + "......KccbbaaaK...KccbbaaaK.....", + "......KccbbaaaK...KccbbaaaaK....", + ], + tele2: [ + "................................", + "................................", + "................................", + "................................", + ".....K..........................", + "....KlK......K......K...........", + "...KlkK.....KaK....KaK..........", + "KKKKkklKKK.KbaaK..KbaaK.KKKKKKKK", + "wjjjkkkkkkKcbbaaKKcbbaaKmmmmmmmm", + "KKKlkklKKK.KcbbK..KcbbK.KKKKKKKK", + ".KlkkkklK.KccccK..KcccK.........", + "KjkkkkkklKKcccK...KccaK.........", + "jjkkkkkkklKcbKK..KccbaK.........", + "jjkkkkkkklKcKddK.KccbaK.........", + "KjjkkkkklKcKfeedKKccaK..........", + ".KjjjlllKKKffeeddKccaK..........", + "..KKKKKKKcKffeeedKcbaK..........", + "........KcKffeeeKccbaK..........", + "........KcKfKKKKKccbaK..........", + ".......KccKffeeKccbaaK..........", + ".......KcKfffeeKccbaK...........", + "........KfffeeKKccbaK...........", + ".......KKKKKKKKccbaK............", + "......KccccccbKccbaK............", + ".....KcccccccKccbaKaK...........", + ".....KcccccccKccbaKaK...........", + ".....KcccccccKcbaaKbK...........", + "......KcccccccKKKKcK............", + ".......KccccccccccK.............", + ".......KcccccbccccK.............", + ".......KcccccbbbaaK.............", + ".......KcccccbbbaaK.............", + "........KccccbbbaaK.............", + "........KccccbbbaaK.............", + ".........KKKKKKKKK..............", + "........KnnnnnnnnnK.............", + "........KnnnnnnnnnK.............", + "........KKKKKKKKKKK.............", + "........KiiiiihhhggK............", + ".......KiiiiihhhhggK............", + ".......KiiiiihhhhggK............", + ".......KiiiiihhhhggK............", + ".......KiiiiihhhhggK............", + "......KKiiiiihhhhggK............", + ".....KiKiiiiiihhhhggK...........", + ".....KiKiiiiiihhhhggK...........", + "......KiiiiiihhhhgggK...........", + ".....KKiiiiiihhhhgggK...........", + "....KiKiiKiiKhhKhgKgKK..........", + "....KihKKcKKaKK.KKcKaaK.........", + "....KihgKcbaaK.KcccbcccK........", + "....KihgKcbaK...KcccaaaK........", + ".....KKKcccaK....KccbbacK.......", + "......KcbaacK.....KcccbK........", + "......KccbbK......KccccaK.......", + "......KccccK......KccbbaK.......", + "......KccbaK.......KccbaK.......", + "......KccbaK.......KccbaK.......", + "......KccbaK.......KccbaK.......", + "......KcbaaK.......KcbaaaK......", + ".....KcbbaaK.......KcbbaaK......", + ".....KcbbaaaK......KcbbaaaK.....", + ".....KccbbaaaK.....KccbbaaaK....", + ".....KccbbaaaK.....KccbbaaaaK...", + ], + hit2: [ + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "................xxx.............", + ".................KKxxx..........", + "................KddK.yxx........", + "...............KfeedK.yyx.......", + "..............KffeeddK.yyxx.....", + "..............KffeeeddK.yyxx....", + "..............KffeeeddK..yyx....", + "..............KfKKKKKoK...yyx...", + "..............KffeeeeddK..yyyx..", + ".............KfffeeeeeddK..yyx..", + "............KfffeeeeeeddK..yyyx.", + "............KKKKKKKKKKKK....yyx.", + "..........KKcccccbbKKaaK....yyx.", + "...K.....KcccccccbKcbKaaK....yyx", + "..KmK....KcccccccKccbaKaK....yyx", + "...KmK...KcccccccKccbaKbK.....yx", + "....KmK..KcccccccKccbaKbK.....yx", + ".....KmK..KKcccccKccbaKK......yx", + "......KmK..KccccbKccbaK.......yx", + ".......KmKKcccccbKccbaK.......yx", + "........KmKccccbbKccbaK.......yx", + ".........KmKKKKKKKccaaK.......x.", + "........KnKKaaKnKccbaK........x.", + "........KnKbbaaKKccbaK........x.", + ".......KKKKcbbaKKcbaK...........", + "......KiKiiKccKKccbaK........x..", + "....KKiKiiiiKKKKaacK............", + "...KihgKiiiiihKbbaaK............", + "..KihggKiiiiihKcbbaK............", + "KKihggKKiiiiihhKccKK............", + "iihggK.KiiiiihhhKKKmK...........", + "KKigK..KiiiiiihhhhgKmK..........", + "..KK...KiiiiiihhhhggKmK...K.....", + "......KiiiiiihhhhgggKKmK.KlK....", + "......KiiiiiihhhhgggK.KkKkkK....", + ".....KKiiKiiKhhKhgKgcKlkkKK.....", + "....KccccaKK.KKcKcbKKllkkkK.....", + "....KccaacK....KcccbKlkkkkjK....", + "...KccbbacK....KccccKlkkkkKjK...", + "...KccccbK.....KccbaaKjkkkKKjK..", + "...KccbccK.....KccbaK.KjkjK.KjK.", + "...KccbaK......KccbaK..KjK...KjK", + "..KcbaaaK......KcbaaK...K.....Kj", + "..KcbbaaK.....KcbbaaK..........K", + "..KcbbaaK.....KcbbaaaK..........", + "..KcbbaaaK....KccbbaaaK.........", + "..KccbbaaaK...KccbbaaaaK........", + ], + rec2: [ + "................................", + "................................", + "................................", + "................................", + "................................", + "................................", + "..........................K...KK", + ".........................KwK.Kjj", + ".........................KjKKjjj", + ".........................KjKlkkk", + "........................KKjlkkkk", + "...............KK......Klkkkkkkk", + "..............KddK....Klkkkkkkkk", + ".............KfeedK....KKlklkkkk", + "............KffeeddK.....KkKlkkk", + "............KffeeeddK....KkKKlkk", + "............KffeeeddK....KkK.Kll", + "............KfKKKKKoK....KmK..KK", + "............KffeeeeddK...KmK....", + "...........KfffeeeeeddK..KmK....", + "..........KfffeeeeeeddK..KmK....", + "..........KKKKKKKKKKKK...KmK....", + "........KKcccccbbKKaaK...KmK....", + ".......KcccccccbKbaKaaK..KmK....", + ".......KcccccccKcbbaKaK..KmK....", + ".......KcccccccKccbaaK...KmK....", + ".......KccccccccKccbaaK..KmK....", + "......KcKKcccccccKccbaK..KmK....", + ".....KcabKcccccccKcccaaK.KmK....", + ".....KcbaKcccccbbbKccbaaKKmK....", + ".....KccbKcccccbbbaKcccbcaK.....", + ".....KbccKcccccbbbaaKcccbaaK....", + "......KccbKccccbbbaaKKKcbbaaK...", + ".......KcbKKKKKKKKKK...KcbbK....", + "........KKnnnnnnnnnK....KcK.....", + ".........KnnnnnnnnnK.....KmK....", + "..........KKKKKKKKKgK....KmK....", + ".........KiiiiihhhggK....KmK....", + "........KKiiiiihhhggK....KmK....", + ".......KiKiiiiihhhggK....KmK....", + ".......KiKiiiiihhhhggK...KmK....", + ".......KiKiiiiihhhhggK...KmK....", + "......KiKiiiiiihhhhggK...KmK....", + "......KiKiiiiiihhhhggK...KmK....", + ".....KihKiiiiiihhhhggK...KmK....", + ".....KihKiiiiiihhhhggK...KmK....", + "....KihgKiiiiiihhhhgggK..KmK....", + "....KihgKiiiiiihhhhgggK..KmK....", + "....KihgKKiiKiiKhhKggK...KmK....", + "...KihggKcKKbKK.KKcKKaK..KmK....", + "...KihgKKccbaaK.KccbccK..KmK....", + "....KKKKccccaaK.KcccaacK.KmK....", + ".......KccaacK...KccbaaK.KmK....", + ".......KccbaaK...KcccbcK.KmK....", + ".......KcccbcK...KccccaK.KmK....", + ".......KccccaK...KcccbaK.KmK....", + ".......KccbaaK....KccbaK.KmK....", + ".......KccbaaK....KccbaK.KmK....", + ".......KccbaaK....KccbaK.KmK....", + ".......KcbaaaK....KcbaaK.KmK....", + ".......KcbbaaK...KcbbaaK.KmK....", + ".......KcbbaaK...KcbbaaaKKmK.v..", + ".......KcbbaaaK..KccbbaaaKmKv...", + ".......KccbbaaaK.KccbbaaaKmKu...", + ], +}; + +const PAINTS = [ + { a: 0x9aa4b8, b: 0x626a80, c: 0x464a5e, d: 0xe8c470, e: 0xc07c30, f: 0x883a18, g: 0xd4583c, h: 0xa42430, i: 0x6a1430, j: 0xe4e6ea, k: 0xa8aeb8, l: 0x6c727e, m: 0x9c6c34, n: 0x683820, o: 0xff7040, w: 0xf4f2ea }, + { a: 0xb89870, b: 0x86604a, c: 0x5a3a34, d: 0x98d0a0, e: 0x4e8c74, f: 0x2c5a50, g: 0x8ab050, h: 0x4e7a34, i: 0x2e5226, j: 0xdcdcd8, k: 0xa8aaa4, l: 0x6c6e6a, m: 0xa08048, n: 0x6a4428, o: 0x90ff60, w: 0xf4f2ea }, + { a: 0xf0d880, b: 0xc08838, c: 0x7a3c1c, d: 0xc8ccd8, e: 0x8890a8, f: 0x4e5468, g: 0xd070c8, h: 0x8a3c9c, i: 0x5c3080, j: 0xe4e4ec, k: 0xacacbc, l: 0x70707e, m: 0x9c6c34, n: 0x683820, o: 0xff60ff, w: 0xf4f2ea }, + { a: 0xdce0e8, b: 0xa8b0c0, c: 0x6a7286, d: 0xf0dc80, e: 0xc8902c, f: 0x8a4818, g: 0x70b8f0, h: 0x3c70c8, i: 0x283c88, j: 0xe0e4ec, k: 0xa4acbc, l: 0x6c7488, m: 0x9c6c34, n: 0x683820, o: 0x60e0ff, w: 0xf4f2ea }, +]; +const WALLS = [0x182050, 0x30204c, 0x0c2c30, 0x2c2c30]; + +// The timelines, in ticks of 1/60 s at speed 1. The thrust's strike covers +// 2.0 s and its recovery 2.33 s; the chop's raise, strike and recovery cover +// 3.67, 4.0 and 4.33 s. Each knob position puts its first strike on 2.0 s. +// Every rest is a whole number of 8-tick rest cells. +const SEQ = [ + [["idle", 72], ["ready1", 8], ["tele1", 34], ["hit1", 16], ["rec1", 20], ["idle", 48], ["ready2", 8], ["tele2", 30], ["hit2", 16], ["rec2", 20], ["idle", 16]], + [["idle", 72], ["ready1", 8], ["tele1", 34], ["hit1", 16], ["rec1", 20]], + [["idle", 72], ["ready2", 8], ["tele2", 30], ["hit2", 16], ["rec2", 20]], +]; +// The rest cells: the upper body sinks a pixel on the breath and the tabard +// tail follows a cell behind. +const IDLE = [["idle", 0], ["idle1", 0], ["idle1", 1], ["idle", 1], ["idle2", 1], ["idle2", 0]]; +const IDLE_TICKS = 8; +const BREATH_ROW = 33; +const EMPTY = ".".repeat(AW); + +const { floor, min, max } = Math; + +function cellAt(t, mode) { + const seq = SEQ[mode]; + let len = 0; + for (const s of seq) len += s[1]; + const tick = floor(t * 60 + 1e-6); + let u = tick % len; + for (const [name, n] of seq) { + if (u < n) { + if (name !== "idle") return [name, 0]; + return IDLE[floor(u / IDLE_TICKS) % IDLE.length]; + } + u -= n; + } + return ["idle", 0]; +} + +function lut(paint) { + const t = new Int32Array(128).fill(-1); + const p = PAINTS[paint]; + for (const k in p) t[k.charCodeAt(0)] = p[k]; + t[75] = 0; // K + t[120] = 0xc8d4ec; // x + t[121] = 0x6878a0; // y + t[117] = 0x9c8c78; // u + t[118] = 0x5c5048; // v + return t; +} + +export function setup(params) { + params.t = 0; + params.mode = 0; + params.speed = 1; + params.paint = 0; + params.wall = 0; + params.key = -1; +} + +export function update(dt, input, params) { + if (params.key === undefined) setup(params); + const k = input.knobValues || [0, 2, 0, 0.06]; + params.mode = min(2, max(0, floor(k[0]))); + params.speed = min(3, max(0.5, k[1])) / 2; + params.paint = min(3, max(0, floor(k[2] * 4))); + params.wall = min(3, max(0, floor(k[3] * 4))); + params.t += min(dt || 0, 0.1) * params.speed; +} + +export function draw(display, params) { + const p = params; + if (p.key === undefined) setup(p); + if (p.key !== p.paint) { + p.key = p.paint; + p.lut = lut(p.paint); + } + const L = p.lut; + const wall = WALLS[p.wall]; + const wr = (wall >> 16) & 255, wg = (wall >> 8) & 255, wb = wall & 255; + const [name, dy] = cellAt(p.t, p.mode); + const rows = CELLS[name]; + for (let y = 0; y < H; y++) { + let j = y >> 1; + if (dy && j <= BREATH_ROW + 1) j -= 1; + const row = j < 0 ? EMPTY : rows[j]; + for (let x = 0; x < W; x++) { + const ch = row.charCodeAt(x >> 1); + if (ch === 46) { + display.setPixel(x, y, wr, wg, wb); + continue; + } + const c = L[ch]; + if (c < 0) display.setPixel(x, y, 255, 0, 255); + else display.setPixel(x, y, (c >> 16) & 255, (c >> 8) & 255, c & 255); + } + } +} From 45e677a293cdfd71cf66101251ea6b099e3ebe81 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:31:44 +0000 Subject: [PATCH 03/17] =?UTF-8?q?Tollard=20=EC=B9=B4=EB=93=9C=EC=97=90=20?= =?UTF-8?q?=EA=B0=99=EC=9D=B4=20=EB=8F=84=EB=8A=94=2092=ED=8C=90=EC=9D=98?= =?UTF-8?q?=20Ardith=20=EB=A5=BC=20=ED=98=95=EC=A0=9C=EB=A1=9C=20=EC=A0=81?= =?UTF-8?q?=EB=8A=94=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/brief.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/incoming/pattern-study/craft/tollard/brief.md b/incoming/pattern-study/craft/tollard/brief.md index a244edb0..d531cbdd 100644 --- a/incoming/pattern-study/craft/tollard/brief.md +++ b/incoming/pattern-study/craft/tollard/brief.md @@ -34,4 +34,6 @@ slug: tollard ## 형제 캐릭터 -작품 2 의 첫 캐릭터라 README 「공들이기」 표에 작품 2 캐릭터가 아직 없어요. 같이 도는 바퀴가 밝힌 새 캐릭터도 이 카드를 쓸 때는 없었어요. +README 「공들이기」 표에는 작품 2 캐릭터가 아직 없어요. 같이 도는 92판(PR #358)이 카드를 쓴 뒤에 밝힌 새 캐릭터가 하나 있어요. + +- Ardith(무덤에서 기어 나오는 것을 다시 눕히는 묘지기 처녀): 정체(묘지기 처녀와 저주받은 갑옷 기사), 역할(주인공과 적), 무기(날개 달린 멧돼지 창과 도끼날 달린 미늘창), 실루엣(맨머리 사람과 종 투구를 쓴 갑옷 덩어리)이 달라요. 둘 다 앞으로 찌르는 장대 무기를 쓰는 것은 같아요. From 826ac59408bf8833e44af51e082e3281f5cb5e6a Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:44:29 +0000 Subject: [PATCH 04/17] =?UTF-8?q?Tollard=20=ED=8C=A8=EC=8A=A4=201=20?= =?UTF-8?q?=EC=8B=9C=EB=8F=84:=20=EC=B0=8C=EB=A5=B4=EA=B8=B0=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EC=95=9E=ED=8C=94=EC=9D=84=20=EB=AA=B8=ED=86=B5?= =?UTF-8?q?=EA=B3=BC=20=EB=96=BC=EC=96=B4=20=EC=95=9E=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=BB=97=EB=8A=94=EB=8B=A4(A/B=20=EC=A4=91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/log.md | 7 ++ incoming/pattern-study/patterns/tollard.js | 72 ++++++++++----------- 2 files changed, 43 insertions(+), 36 deletions(-) diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index e82c07e3..c8d2e4b5 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -6,3 +6,10 @@ - 안 1~4: 미늘창을 곁에 세우고 허리 짚은 육중한 기사가 반쯤 치켜든 뒤 허리 높이로 찌름, 투구 깃의 가는 기사가 창을 어깨에 메고 머리 위에서 내리찍듯 찌름, 머리가 어깨에 묻힌 거한이 창끝을 발치로 내렸다가 머리를 숙이고 허리로 들이받음, 망토 기사가 창끝을 앞아래로 겨눴다가 옆구리에 끼고 한 손으로 내지름 - 리그 판정이 짚은 것: 이긴 안 1 도 쉬기가 차렷에 가깝고 자루가 가늘다(넷), 종 투구가 실루엣만으로는 고깔이나 두건으로 읽힌다(여럿) - 첫 판: 셀 11(쉬기 3 · 찌르기 4 · 내려찍기 4) · 17색 · 쉬기 키 55(투구 8, 6.9등신) · 노브 K1 0.07 · K2 0.15 · K3 0.06 · K4 0.05 · 한 프레임 깜빡임 0 +- 비평 1: 장인 4 · 플레이어 7 · 애니메이터 7 · 관객 7 · 블라인드 읽기 2/3(성격을 「우직하고 규율 잡힌 경비병」으로 읽음, 냉혹함 놓침) · 닮은꼴 양파꼴 투구의 판금 기사 「조금」, 뾰족 투구의 참회하는 기사 「조금」 + +### 패스 1 +- 확인 차례: ① 찌르기에서 앞팔이 몸통에 붙어 배경 틈이 없음(애니메이터) 예 +- 고칠 것: ① 키 포즈 · 찌르기 셀에서 앞팔이 몸통에 붙어 한 덩어리 · (30,55)~(44,80) +- 짚은 렌즈: 애니메이터 7점 · 「오른팔이 몸통에 붙어 배경 틈이 없음」 +- 기대: pair-zoom 과 pair-led 에서 몸통이 앞으로 더 숙고, 위팔이 앞으로 뻗었다가 아래팔이 자루로 내려가 가슴 앞과 앞팔 사이에 배경 틈이 보임 diff --git a/incoming/pattern-study/patterns/tollard.js b/incoming/pattern-study/patterns/tollard.js index 4a16b398..ed396c4d 100644 --- a/incoming/pattern-study/patterns/tollard.js +++ b/incoming/pattern-study/patterns/tollard.js @@ -370,42 +370,42 @@ const CELLS = { "................................", "................................", "................................", - ".............KK.................", - "............KddK................", - "...........KfeedK...............", - "..........KffeeddK..............", - "..........KffeeeddK.............", - "..........KffeeeddK.............", - "..........KfKKKKKoK.............", - "..........KffeeeeddK............", - ".........KfffeeeeeddK...........", - "........KfffeeKKKKKdK...........", - ".......KKKKKKKaaaaaK............", - "......KccccccbbKKKaaK...........", - "......KcccccccKbaaKKaK..........", - ".....KccccccccKcbbaaK...........", - "......KcccccccKccccbaK..........", - "......KccccccccKcccbaK..........", - ".......KccccccccKKcbaK....K.....", - ".......KcccKcbcccKcccK...KlK....", - ".......KccKaKbbaaKaaaK...KklK...", - "KKKKKKKKKKbaaKKKKbbbaaKKKlkkKKKK", - "mmmmmmmmKcbbaaKmKccbbaKkkkkkjjjw", - "KKKKKKKKKKcbbKKK.KccbK.KKlkklKKK", - ".....KnnnnKcKnnK..KKK..KlkkkklK.", - "......KKKKKKKKKgK.....KlkkkkkkjK", - "....KKiiiiihhhggK....Klkkkkkkkjj", - "...KiKiiiiihhhggK....Klkkkkkkkjj", - "..KihKiiiiihhhggK.....KlkkkkkjjK", - ".KihgKiiiiihhhhggK.....KllljjjK.", - "KihgKiiiiiihhhhggK......KKKKKK..", - "ihgKKiiiiiihhhhggK..............", - "KKK.KiiiiiihhhhggK..............", - "....KiiiiiihhhhggK.K............", - "....KiiiiiihhhhgggKaKK..........", - "....KiiiiiihhhhgggKaccK.........", - "....KiKiiKihKhhKggKcaacK........", - ".....KcKKaKK.KKcKKccbaaK........", + "............KK..................", + "...........KddK.................", + "..........KfeedK................", + ".........KffeeddK...............", + ".........KffeeeddK..............", + ".........KffeeeddK..............", + ".........KfKKKKKoK..............", + ".........KffeeeeddK.............", + "........KfffeeeeeddK............", + ".......KfffeeKKKKKdK............", + "......KKKKKKKaaaaaK.............", + ".....KccccccbbKKKKKKKKK.........", + ".....KcccccccKaaaaaaabaK........", + "....KccccccccKbbbbbbcbaK........", + ".....KcccccccKcccccccbaK........", + ".....KccccccccKKKccccbaK........", + "......KccccccccccKKKccaK..K.....", + "......KcccKKbccccK.KcacK.KlK....", + "......KccKaaKbaaK..KbaaK.KklK...", + "KKKKKKKKKbaaaKKKKKKcbbaaKlkkKKKK", + "mmmmmmmmKcbbaKmmmmmKcbbKkkkkjjjw", + "KKKKKKKKKccbbKKKKKK.KcK.KlkklKKK", + "...KnnnnnKccKK.......K.KlkkkklK.", + "....KKKKKKKKKgK.......KlkkkkkkjK", + "...KiiiiihhhggK......Klkkkkkkkjj", + "...KiiiiihhhggK......Klkkkkkkkjj", + "..KKiiiiihhhggK.......KlkkkkkjjK", + ".KiKiiiiihhhhggK.......KllljjjK.", + "KiKiiiiiihhhhggK........KKKKKK..", + "ihKiiiiiihhhhggK................", + "KKKiiiiiihhhhggKKK..............", + "..KiiiiiihhhhggKaaKK............", + "..KiiiiiihhhhgggKaaaKK..........", + "..KiiiiiihhhhgggKbbaccK.........", + "...KiiKiiKhhKggKccbcaacK........", + "....KKcKKaKK.KKcccccbaaK........", "....KcccbaK....KKccccbcK........", "....KccccaK......KKcccaK........", "....KcbaacK.......KccbaK........", From 7e45e16b1bb21bc85ee3ef2ab3ddae10e728e160 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:47:28 +0000 Subject: [PATCH 05/17] =?UTF-8?q?Tollard=20=ED=8C=A8=EC=8A=A4=201=20?= =?UTF-8?q?=EC=9D=84=20=EB=90=98=EB=8F=8C=EB=A6=B0=EB=8B=A4:=20=EC=A7=9A?= =?UTF-8?q?=EC=9D=80=20=EC=95=A0=EB=8B=88=EB=A9=94=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=EA=B0=80=20=EA=B0=99=EC=9D=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/log.md | 6 +- incoming/pattern-study/patterns/tollard.js | 72 ++++++++++----------- 2 files changed, 41 insertions(+), 37 deletions(-) diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index c8d2e4b5..e5d92240 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -8,8 +8,12 @@ - 첫 판: 셀 11(쉬기 3 · 찌르기 4 · 내려찍기 4) · 17색 · 쉬기 키 55(투구 8, 6.9등신) · 노브 K1 0.07 · K2 0.15 · K3 0.06 · K4 0.05 · 한 프레임 깜빡임 0 - 비평 1: 장인 4 · 플레이어 7 · 애니메이터 7 · 관객 7 · 블라인드 읽기 2/3(성격을 「우직하고 규율 잡힌 경비병」으로 읽음, 냉혹함 놓침) · 닮은꼴 양파꼴 투구의 판금 기사 「조금」, 뾰족 투구의 참회하는 기사 「조금」 -### 패스 1 +### 패스 1 · 되돌림 - 확인 차례: ① 찌르기에서 앞팔이 몸통에 붙어 배경 틈이 없음(애니메이터) 예 - 고칠 것: ① 키 포즈 · 찌르기 셀에서 앞팔이 몸통에 붙어 한 덩어리 · (30,55)~(44,80) - 짚은 렌즈: 애니메이터 7점 · 「오른팔이 몸통에 붙어 배경 틈이 없음」 - 기대: pair-zoom 과 pair-led 에서 몸통이 앞으로 더 숙고, 위팔이 앞으로 뻗었다가 아래팔이 자루로 내려가 가슴 앞과 앞팔 사이에 배경 틈이 보임 +- 바뀐 LED: 정지 1160 · 10초 1160 · 노브 1160 · 팔레트 17→17색 +- A/B: 장인 새 · 플레이어 새 · 애니메이터 같음(정순 옛 「망토 끝이 더 넘치고 주먹이 몸통에서 갈라져 보임」, 역순 새) · 관객 새 +- 버린 판정: 없음 +- 짚은 렌즈(애니메이터)가 「새」가 아니라 되돌림 diff --git a/incoming/pattern-study/patterns/tollard.js b/incoming/pattern-study/patterns/tollard.js index ed396c4d..4a16b398 100644 --- a/incoming/pattern-study/patterns/tollard.js +++ b/incoming/pattern-study/patterns/tollard.js @@ -370,42 +370,42 @@ const CELLS = { "................................", "................................", "................................", - "............KK..................", - "...........KddK.................", - "..........KfeedK................", - ".........KffeeddK...............", - ".........KffeeeddK..............", - ".........KffeeeddK..............", - ".........KfKKKKKoK..............", - ".........KffeeeeddK.............", - "........KfffeeeeeddK............", - ".......KfffeeKKKKKdK............", - "......KKKKKKKaaaaaK.............", - ".....KccccccbbKKKKKKKKK.........", - ".....KcccccccKaaaaaaabaK........", - "....KccccccccKbbbbbbcbaK........", - ".....KcccccccKcccccccbaK........", - ".....KccccccccKKKccccbaK........", - "......KccccccccccKKKccaK..K.....", - "......KcccKKbccccK.KcacK.KlK....", - "......KccKaaKbaaK..KbaaK.KklK...", - "KKKKKKKKKbaaaKKKKKKcbbaaKlkkKKKK", - "mmmmmmmmKcbbaKmmmmmKcbbKkkkkjjjw", - "KKKKKKKKKccbbKKKKKK.KcK.KlkklKKK", - "...KnnnnnKccKK.......K.KlkkkklK.", - "....KKKKKKKKKgK.......KlkkkkkkjK", - "...KiiiiihhhggK......Klkkkkkkkjj", - "...KiiiiihhhggK......Klkkkkkkkjj", - "..KKiiiiihhhggK.......KlkkkkkjjK", - ".KiKiiiiihhhhggK.......KllljjjK.", - "KiKiiiiiihhhhggK........KKKKKK..", - "ihKiiiiiihhhhggK................", - "KKKiiiiiihhhhggKKK..............", - "..KiiiiiihhhhggKaaKK............", - "..KiiiiiihhhhgggKaaaKK..........", - "..KiiiiiihhhhgggKbbaccK.........", - "...KiiKiiKhhKggKccbcaacK........", - "....KKcKKaKK.KKcccccbaaK........", + ".............KK.................", + "............KddK................", + "...........KfeedK...............", + "..........KffeeddK..............", + "..........KffeeeddK.............", + "..........KffeeeddK.............", + "..........KfKKKKKoK.............", + "..........KffeeeeddK............", + ".........KfffeeeeeddK...........", + "........KfffeeKKKKKdK...........", + ".......KKKKKKKaaaaaK............", + "......KccccccbbKKKaaK...........", + "......KcccccccKbaaKKaK..........", + ".....KccccccccKcbbaaK...........", + "......KcccccccKccccbaK..........", + "......KccccccccKcccbaK..........", + ".......KccccccccKKcbaK....K.....", + ".......KcccKcbcccKcccK...KlK....", + ".......KccKaKbbaaKaaaK...KklK...", + "KKKKKKKKKKbaaKKKKbbbaaKKKlkkKKKK", + "mmmmmmmmKcbbaaKmKccbbaKkkkkkjjjw", + "KKKKKKKKKKcbbKKK.KccbK.KKlkklKKK", + ".....KnnnnKcKnnK..KKK..KlkkkklK.", + "......KKKKKKKKKgK.....KlkkkkkkjK", + "....KKiiiiihhhggK....Klkkkkkkkjj", + "...KiKiiiiihhhggK....Klkkkkkkkjj", + "..KihKiiiiihhhggK.....KlkkkkkjjK", + ".KihgKiiiiihhhhggK.....KllljjjK.", + "KihgKiiiiiihhhhggK......KKKKKK..", + "ihgKKiiiiiihhhhggK..............", + "KKK.KiiiiiihhhhggK..............", + "....KiiiiiihhhhggK.K............", + "....KiiiiiihhhhgggKaKK..........", + "....KiiiiiihhhhgggKaccK.........", + "....KiKiiKihKhhKggKcaacK........", + ".....KcKKaKK.KKcKKccbaaK........", "....KcccbaK....KKccccbcK........", "....KccccaK......KKcccaK........", "....KcbaacK.......KccbaK........", From 2f58865c70123685ec8b237ba0b36b4201cfeefe Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:49:53 +0000 Subject: [PATCH 06/17] =?UTF-8?q?Tollard=20=ED=8C=A8=EC=8A=A4=202=20?= =?UTF-8?q?=EC=8B=9C=EB=8F=84:=20=EC=B0=BD=EB=82=A0=20=EB=A9=B4=EC=9D=84?= =?UTF-8?q?=20=EB=B0=9D=ED=98=80=20=ED=88=AC=EA=B5=AC=EC=99=80=20=EB=AA=85?= =?UTF-8?q?=EB=8F=84=20=EB=8B=A8=EC=9D=84=20=EA=B0=80=EB=A5=B8=EB=8B=A4(A/?= =?UTF-8?q?B=20=EC=A4=91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/log.md | 6 + incoming/pattern-study/patterns/tollard.js | 124 ++++++++++---------- 2 files changed, 68 insertions(+), 62 deletions(-) diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index e5d92240..d78b949a 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -17,3 +17,9 @@ - A/B: 장인 새 · 플레이어 새 · 애니메이터 같음(정순 옛 「망토 끝이 더 넘치고 주먹이 몸통에서 갈라져 보임」, 역순 새) · 관객 새 - 버린 판정: 없음 - 짚은 렌즈(애니메이터)가 「새」가 아니라 되돌림 + +### 패스 2 +- 확인 차례: ② 창 가시를 빛과 반대로 칠했고 창 목이 베개 명암(장인) 아니오 · ② 4단 판에서 투구와 창날이 같은 170 단(장인) 예 +- 고칠 것: ② 명도 덩어리 · 4단 판에서 투구(28,40)와 창날(52,80)이 같은 170 단이라 머리와 무기가 갈리지 않음 +- 짚은 렌즈: 장인 4점 · 「투구와 창날이 둘 다 170 단」 +- 기대: gray 4단 판에서 창날 면이 255 단, 투구 170 단, 몸통 85 단으로 셋이 갈리고, pair-zoom 에서 창날이 빛 받은 쇠 면으로 밝아짐 diff --git a/incoming/pattern-study/patterns/tollard.js b/incoming/pattern-study/patterns/tollard.js index 4a16b398..fb1828b4 100644 --- a/incoming/pattern-study/patterns/tollard.js +++ b/incoming/pattern-study/patterns/tollard.js @@ -24,14 +24,14 @@ const W = 64, H = 128, AW = 32, AH = 64; // x y are the arc the chop leaves and u v the dust it raises; they keep their colours in every paint. const CELLS = { idle: [ - ".........................KwK.Kjj", - ".........................KjKKjjj", - ".........................KjKlkkk", - "........................KKjlkkkk", - ".......................Klkkkkkkk", - "......................Klkkkkkkkk", - ".......................KKlklkkkk", - ".........................KkKlkkk", + ".........................KwK.Kkk", + ".........................KjKKkkk", + ".........................KjKljjj", + "........................KKjlkjjj", + ".......................Klkkkjjjj", + "......................Klkkkkjjjj", + ".......................KKlklkjjj", + ".........................KkKlkjj", "...............KK........KkKKlkk", "..............KddK.......KkK.Kll", ".............KfeedK......KmK..KK", @@ -90,14 +90,14 @@ const CELLS = { ".......KccbbaaaK.KccbbaaaKmK....", ], idle1: [ - ".........................KwK.Kjj", - ".........................KjKKjjj", - ".........................KjKlkkk", - "........................KKjlkkkk", - ".......................Klkkkkkkk", - "......................Klkkkkkkkk", - ".......................KKlklkkkk", - ".........................KkKlkkk", + ".........................KwK.Kkk", + ".........................KjKKkkk", + ".........................KjKljjj", + "........................KKjlkjjj", + ".......................Klkkkjjjj", + "......................Klkkkkjjjj", + ".......................KKlklkjjj", + ".........................KkKlkjj", "...............KK........KkKKlkk", "..............KddK.......KkK.Kll", ".............KfeedK......KmK..KK", @@ -156,14 +156,14 @@ const CELLS = { ".......KccbbaaaK.KccbbaaaKmK....", ], idle2: [ - ".........................KwK.Kjj", - ".........................KjKKjjj", - ".........................KjKlkkk", - "........................KKjlkkkk", - ".......................Klkkkkkkk", - "......................Klkkkkkkkk", - ".......................KKlklkkkk", - ".........................KkKlkkk", + ".........................KwK.Kkk", + ".........................KjKKkkk", + ".........................KjKljjj", + "........................KKjlkjjj", + ".......................Klkkkjjjj", + "......................Klkkkkjjjj", + ".......................KKlklkjjj", + ".........................KkKlkjj", "...............KK........KkKKlkk", "..............KddK.......KkK.Kll", ".............KfeedK......KmK..KK", @@ -222,7 +222,7 @@ const CELLS = { ".......KccbbaaaK.KccbbaaaKmK....", ], ready1: [ - ".........................KkKlkkk", + ".........................KkKlkjj", ".........................KkKKlkk", ".........................KkK.Kll", ".........................KmK..KK", @@ -299,12 +299,12 @@ const CELLS = { "KKKKKKKbaaaKKKbaaaKKKKKKKlkkKKKK", "mmmmmmKcbbaKmKcbbaKmmmkkkkkkjjjw", "KKKKKKKccbbKKKccbbKKKKKKKlkklKKK", - "......KcccKKKKccccK....KlkkkklK.", - "......KcccKddKcccaK...KlkkkkkkjK", - ".....KccbKfeeKccbaK..Klkkkkkkkjj", - ".....KccKffeeKccbaK..Klkkkkkkkjj", - ".....KcbKffeeKccbaK...KlkkkkkjjK", - "....KccbKffeeKccbaK....KllljjjK.", + "......KcccKKKKccccK....KlkjjklK.", + "......KcccKddKcccaK...KlkjjjjjkK", + ".....KccbKfeeKccbaK..Klkjjjjjjkk", + ".....KccKffeeKccbaK..Klkjjjjjjkk", + ".....KcbKffeeKccbaK...KlkjjjjkkK", + "....KccbKffeeKccbaK....KlllkkkK.", "....KccbKfKKKKccbaK.....KKKKKK..", "....KccaKffeeKccbaK.............", "....KccKfffeKccbaK..............", @@ -392,12 +392,12 @@ const CELLS = { "KKKKKKKKKKbaaKKKKbbbaaKKKlkkKKKK", "mmmmmmmmKcbbaaKmKccbbaKkkkkkjjjw", "KKKKKKKKKKcbbKKK.KccbK.KKlkklKKK", - ".....KnnnnKcKnnK..KKK..KlkkkklK.", - "......KKKKKKKKKgK.....KlkkkkkkjK", - "....KKiiiiihhhggK....Klkkkkkkkjj", - "...KiKiiiiihhhggK....Klkkkkkkkjj", - "..KihKiiiiihhhggK.....KlkkkkkjjK", - ".KihgKiiiiihhhhggK.....KllljjjK.", + ".....KnnnnKcKnnK..KKK..KlkjjklK.", + "......KKKKKKKKKgK.....KlkjjjjjkK", + "....KKiiiiihhhggK....Klkjjjjjjkk", + "...KiKiiiiihhhggK....Klkjjjjjjkk", + "..KihKiiiiihhhggK.....KlkjjjjkkK", + ".KihgKiiiiihhhhggK.....KlllkkkK.", "KihgKiiiiiihhhhggK......KKKKKK..", "ihgKKiiiiiihhhhggK..............", "KKK.KiiiiiihhhhggK..............", @@ -457,12 +457,12 @@ const CELLS = { "KKKKKKKKbbaaKKbbaaKKKKKKKlkkKKKK", "mmmmmmmKcbbaKKcbbaKmmmkkkkkkjjjw", "KKKKKKK.KccKKKKccK.KKKKKKlkklKKK", - ".......KKKKKKKKKKK.....KlkkkklK.", - ".......KiiiiihhhggK...KlkkkkkkjK", - "......KiiiiihhhhggK..Klkkkkkkkjj", - ".....KKiiiiihhhhggK..Klkkkkkkkjj", - "....KiKiiiiihhhhggK...KlkkkkkjjK", - "....KiKiiiiihhhhggK....KllljjjK.", + ".......KKKKKKKKKKK.....KlkjjklK.", + ".......KiiiiihhhggK...KlkjjjjjkK", + "......KiiiiihhhhggK..Klkjjjjjjkk", + ".....KKiiiiihhhhggK..Klkjjjjjjkk", + "....KiKiiiiihhhhggK...KlkjjjjkkK", + "....KiKiiiiihhhhggK....KlllkkkK.", "...KihKiiiiihhhhggK.....KKKKKK..", "...KihKiiiiiihhhhggK............", "..KihgKiiiiiihhhhggK............", @@ -562,12 +562,12 @@ const CELLS = { "KKKKkklKKK.KbaaK..KbaaK.KKKKKKKK", "wjjjkkkkkkKcbbaaKKcbbaaKmmmmmmmm", "KKKlkklKKK.KcbbK..KcbbK.KKKKKKKK", - ".KlkkkklK.KccccK..KcccK.........", - "KjkkkkkklKKcccK...KccaK.........", - "jjkkkkkkklKcbKK..KccbaK.........", - "jjkkkkkkklKcKddK.KccbaK.........", - "KjjkkkkklKcKfeedKKccaK..........", - ".KjjjlllKKKffeeddKccaK..........", + ".KlkjjklK.KccccK..KcccK.........", + "KkjjjjjklKKcccK...KccaK.........", + "kkjjjjjjklKcbKK..KccbaK.........", + "kkjjjjjjklKcKddK.KccbaK.........", + "KkkjjjjklKcKfeedKKccaK..........", + ".KkkklllKKKffeeddKccaK..........", "..KKKKKKKcKffeeedKcbaK..........", "........KcKffeeeKccbaK..........", "........KcKfKKKKKccbaK..........", @@ -672,11 +672,11 @@ const CELLS = { "......KiiiiiihhhhgggK.KkKkkK....", ".....KKiiKiiKhhKhgKgcKlkkKK.....", "....KccccaKK.KKcKcbKKllkkkK.....", - "....KccaacK....KcccbKlkkkkjK....", - "...KccbbacK....KccccKlkkkkKjK...", - "...KccccbK.....KccbaaKjkkkKKjK..", - "...KccbccK.....KccbaK.KjkjK.KjK.", - "...KccbaK......KccbaK..KjK...KjK", + "....KccaacK....KcccbKlkjjkjK....", + "...KccbbacK....KccccKlkjjkKjK...", + "...KccccbK.....KccbaaKkjjkKKjK..", + "...KccbccK.....KccbaK.KkjkK.KjK.", + "...KccbaK......KccbaK..KkK...KjK", "..KcbaaaK......KcbaaK...K.....Kj", "..KcbbaaK.....KcbbaaK..........K", "..KcbbaaK.....KcbbaaaK..........", @@ -691,14 +691,14 @@ const CELLS = { "................................", "................................", "..........................K...KK", - ".........................KwK.Kjj", - ".........................KjKKjjj", - ".........................KjKlkkk", - "........................KKjlkkkk", - "...............KK......Klkkkkkkk", - "..............KddK....Klkkkkkkkk", - ".............KfeedK....KKlklkkkk", - "............KffeeddK.....KkKlkkk", + ".........................KwK.Kkk", + ".........................KjKKkkk", + ".........................KjKljjj", + "........................KKjlkjjj", + "...............KK......Klkkkjjjj", + "..............KddK....Klkkkkjjjj", + ".............KfeedK....KKlklkjjj", + "............KffeeddK.....KkKlkjj", "............KffeeeddK....KkKKlkk", "............KffeeeddK....KkK.Kll", "............KfKKKKKoK....KmK..KK", From e6d8c96bed19a3d60a2cdfbc6819bd0b7a7c51cc Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:53:10 +0000 Subject: [PATCH 07/17] =?UTF-8?q?Tollard=20=ED=8C=A8=EC=8A=A4=203=20?= =?UTF-8?q?=EC=8B=9C=EB=8F=84:=20=EA=B2=89=EC=98=B7=EC=9D=84=20=EC=95=9E?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=8A=98=EC=96=B4=EC=A7=84=20=EC=A2=81?= =?UTF-8?q?=EC=9D=80=20=EC=B2=9C=EC=9C=BC=EB=A1=9C=20=EC=A4=84=EC=9D=B4?= =?UTF-8?q?=EA=B3=A0=20=ED=97=88=EB=A6=AC=20=EC=87=A0=EB=AF=B8=EB=8A=98?= =?UTF-8?q?=EC=9D=84=20=EB=93=9C=EB=9F=AC=EB=82=B8=EB=8B=A4(A/B=20?= =?UTF-8?q?=EC=A4=91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/log.md | 12 +- incoming/pattern-study/patterns/tollard.js | 410 ++++++++++---------- 2 files changed, 216 insertions(+), 206 deletions(-) diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index d78b949a..0c94972a 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -18,8 +18,18 @@ - 버린 판정: 없음 - 짚은 렌즈(애니메이터)가 「새」가 아니라 되돌림 -### 패스 2 +### 패스 2 · 되돌림 - 확인 차례: ② 창 가시를 빛과 반대로 칠했고 창 목이 베개 명암(장인) 아니오 · ② 4단 판에서 투구와 창날이 같은 170 단(장인) 예 - 고칠 것: ② 명도 덩어리 · 4단 판에서 투구(28,40)와 창날(52,80)이 같은 170 단이라 머리와 무기가 갈리지 않음 - 짚은 렌즈: 장인 4점 · 「투구와 창날이 둘 다 170 단」 - 기대: gray 4단 판에서 창날 면이 255 단, 투구 170 단, 몸통 85 단으로 셋이 갈리고, pair-zoom 에서 창날이 빛 받은 쇠 면으로 밝아짐 +- 바뀐 LED: 정지 132 · 10초 632 · 노브 436 · 팔레트 17→17색 +- A/B: 장인 옛(「날 가운데를 흰 덩어리로 칠한 베개 명암」) · 플레이어 옛 · 애니메이터 옛 · 관객 같음(정순 옛, 역순 새) +- 버린 판정: 없음 +- 「옛」인 렌즈가 있어 되돌림. 판정 넷이 다 날 가운데를 하얗게 띄운 것을 빛과 어긋난 베개 명암으로 읽음 + +### 패스 3 +- 확인 차례: ② 붉은 겉옷과 짙은 회색 윗몸이 같은 크기로 다퉈 세 단 위계가 없음(플레이어) 예 +- 고칠 것: ② 덩어리 위계 · 겉옷(약 548 LED)과 윗몸·팔(약 470 LED)이 같은 넓이로 다툼 · (24,90) (22,62) +- 짚은 렌즈: 플레이어 7점 · 「덩어리 위계가 두 단뿐」 +- 기대: pair-zoom 과 pair-led 에서 겉옷이 앞으로 늘어진 좁은 천으로 줄고 그 둘레에 허리 쇠미늘이 보여, 가슴부터 다리까지 쇠 갑옷이 한 큰 덩어리, 겉옷이 중간 덩어리로 읽힘 diff --git a/incoming/pattern-study/patterns/tollard.js b/incoming/pattern-study/patterns/tollard.js index fb1828b4..f6a44a03 100644 --- a/incoming/pattern-study/patterns/tollard.js +++ b/incoming/pattern-study/patterns/tollard.js @@ -24,14 +24,14 @@ const W = 64, H = 128, AW = 32, AH = 64; // x y are the arc the chop leaves and u v the dust it raises; they keep their colours in every paint. const CELLS = { idle: [ - ".........................KwK.Kkk", - ".........................KjKKkkk", - ".........................KjKljjj", - "........................KKjlkjjj", - ".......................Klkkkjjjj", - "......................Klkkkkjjjj", - ".......................KKlklkjjj", - ".........................KkKlkjj", + ".........................KwK.Kjj", + ".........................KjKKjjj", + ".........................KjKlkkk", + "........................KKjlkkkk", + ".......................Klkkkkkkk", + "......................Klkkkkkkkk", + ".......................KKlklkkkk", + ".........................KkKlkkk", "...............KK........KkKKlkk", "..............KddK.......KkK.Kll", ".............KfeedK......KmK..KK", @@ -56,21 +56,21 @@ const CELLS = { ".....KcccbKccccbbbaKccccbaaK....", "......KccbKKKKKKKKKKKKccbbaaK...", ".......KcbKnnnnnnnnnK.KKcbbK....", - "........KcKnnnnnnnnnK...KcK.....", - "........KcKKKKKKKKKK.....KmK....", - ".........KKiiiihhhggK....KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - "........KKiiiiiihhhhggK..KmK....", - ".......KiKiiiiiihhhhggK..KmK....", - "........KiiiiiihhhhgggK..KmK....", - "........KiiiiiihhhhgggK..KmK....", - "........KiiiiiihhhhgggK..KmK....", - ".......KiKiiKiiKhhKggK...KmK....", - "......KihgKKbKK.KKcKKaK..KmK....", + "........KKKnnnnnnnnnK...KcK.....", + ".........KcKKKKKKKKKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaaK..KmK....", + ".........KcKiiihhhgKaaK..KmK....", + "........KKcKiiihhhgKaaK..KmK....", + ".......KihKKiiihhhgKKK...KmK....", + ".......KihgKiiihhhgKK....KmK....", + ".......KihgKiiihhhgKaK...KmK....", + ".......KihgKiiihhhgKaK...KmK....", + ".......KihgKKiiKhhKbaK...KmK....", + "......KihggKbKK.KKcbaaK..KmK....", "......KihgKcbaaKKccbaaK..KmK....", "......KihgKcbaaKKccbbaK..KmK....", "......KihgKcbaK.KcccccaK.KmK....", @@ -90,14 +90,14 @@ const CELLS = { ".......KccbbaaaK.KccbbaaaKmK....", ], idle1: [ - ".........................KwK.Kkk", - ".........................KjKKkkk", - ".........................KjKljjj", - "........................KKjlkjjj", - ".......................Klkkkjjjj", - "......................Klkkkkjjjj", - ".......................KKlklkjjj", - ".........................KkKlkjj", + ".........................KwK.Kjj", + ".........................KjKKjjj", + ".........................KjKlkkk", + "........................KKjlkkkk", + ".......................Klkkkkkkk", + "......................Klkkkkkkkk", + ".......................KKlklkkkk", + ".........................KkKlkkk", "...............KK........KkKKlkk", "..............KddK.......KkK.Kll", ".............KfeedK......KmK..KK", @@ -122,21 +122,21 @@ const CELLS = { ".....KcccbKccccbbbaKccccbaaK....", "......KccbKKKKKKKKKKKKccbbaaK...", ".......KcbKnnnnnnnnnK.KKcbbK....", - "........KcKnnnnnnnnnK...KcK.....", - "........KcKKKKKKKKKK.....KmK....", - ".........KKiiiihhhggK....KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiiihhhhggK..KmK....", - ".........KiiiiiihhhhggK..KmK....", - "........KiiiiiihhhhgggK..KmK....", - "........KiiiiiihhhhgggK..KmK....", - "........KiiiiiihhhhgggK..KmK....", - ".......KiKiiKiiKhhKggK...KmK....", - ".......KihKKbKK.KKcKKaK..KmK....", + "........KKKnnnnnnnnnK...KcK.....", + ".........KcKKKKKKKKKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaaK..KmK....", + ".........KcKiiihhhgKaaK..KmK....", + ".........KcKiiihhhgKaaK..KmK....", + "........KiKKiiihhhgKKK...KmK....", + "........KihKiiihhhgKK....KmK....", + "........KihKiiihhhgKaK...KmK....", + ".......KihgKiiihhhgKaK...KmK....", + ".......KihgKKiiKhhKbaK...KmK....", + ".......KihgKbKK.KKcbaaK..KmK....", ".......KihgKbaaKKccbaaK..KmK....", ".......KihgKbaaKKccbbaK..KmK....", ".......KihgKbaK.KcccccaK.KmK....", @@ -156,14 +156,14 @@ const CELLS = { ".......KccbbaaaK.KccbbaaaKmK....", ], idle2: [ - ".........................KwK.Kkk", - ".........................KjKKkkk", - ".........................KjKljjj", - "........................KKjlkjjj", - ".......................Klkkkjjjj", - "......................Klkkkkjjjj", - ".......................KKlklkjjj", - ".........................KkKlkjj", + ".........................KwK.Kjj", + ".........................KjKKjjj", + ".........................KjKlkkk", + "........................KKjlkkkk", + ".......................Klkkkkkkk", + "......................Klkkkkkkkk", + ".......................KKlklkkkk", + ".........................KkKlkkk", "...............KK........KkKKlkk", "..............KddK.......KkK.Kll", ".............KfeedK......KmK..KK", @@ -188,21 +188,21 @@ const CELLS = { ".....KcccbKccccbbbaKccccbaaK....", "......KccbKKKKKKKKKKKKccbbaaK...", ".......KcbKnnnnnnnnnK.KKcbbK....", - "........KcKnnnnnnnnnK...KcK.....", - "........KcKKKKKKKKKK.....KmK....", - ".........KKiiiihhhggK....KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - ".........KiiiiihhhhggK...KmK....", - "........KKiiiiihhhhggK...KmK....", - ".......KiKiiiiiihhhhggK..KmK....", - ".......KiKiiiiiihhhhggK..KmK....", - ".......KKiiiiiihhhhgggK..KmK....", - "......KiKiiiiiihhhhgggK..KmK....", - "......KiKiiiiiihhhhgggK..KmK....", - "......KihKiiKiiKhhKggK...KmK....", - "......KihgKKbKK.KKcKKaK..KmK....", + "........KKKnnnnnnnnnK...KcK.....", + ".........KcKKKKKKKKKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaK...KmK....", + ".........KccKiiihhgKaaK..KmK....", + "........KKcKiiihhhgKaaK..KmK....", + ".......KiKcKiiihhhgKaaK..KmK....", + ".......KihKKiiihhhgKKK...KmK....", + ".......KihgKiiihhhgKK....KmK....", + "......KihgKKiiihhhgKaK...KmK....", + "......KihgKKiiihhhgKaK...KmK....", + "......KihgKcKiiKhhKbaK...KmK....", + "......KihgKcbKK.KKcbaaK..KmK....", ".....KihggKcbaaKKccbaaK..KmK....", ".....KihgKccbaaKKccbbaK..KmK....", ".....KihgKccbaK.KcccccaK.KmK....", @@ -222,7 +222,7 @@ const CELLS = { ".......KccbbaaaK.KccbbaaaKmK....", ], ready1: [ - ".........................KkKlkjj", + ".........................KkKlkkk", ".........................KkKKlkk", ".........................KkK.Kll", ".........................KmK..KK", @@ -256,20 +256,20 @@ const CELLS = { "......KccKKKKKKKKKK......KmK....", ".......KcKnnnnnnnnnK.....KmK....", ".......KcKnnnnnnnnnK.....KmK....", - "........KKKKKKKKKKKgK....KmK....", - ".........KiiiiihhhggK....KmK....", - ".........KiiiiihhhggK....KmK....", - ".........KiiiiihhhggK....KmK....", - "........KKiiiiihhhhggK...KmK....", - ".......KiKiiiiihhhhggK...KmK....", - "........KiiiiiihhhhggK...KmK....", - "........KiiiiiihhhhggK...KmK....", - ".......KKiiiiiihhhhggK...KmK....", - "......KiKiiiiiihhhhggK...KmK....", - "......KiKiiiiiihhhhgggK..KmK....", - "......KiKiiiiiihhhhgggK..KmK....", - "......KihKiiKiiKhhKggK...KmK....", - "......KihgKKbKK.KKcKKaK..KmK....", + "........KKKKKKKKKKKaK....KmK....", + ".........KcKiiihhgKaK....KmK....", + ".........KcKiiihhgKaaK...KmK....", + ".........KcKiiihhgKaaK...KmK....", + "........KccKiiihhgKaaK...KmK....", + "........KccKiiihhgKaaK...KmK....", + "........KccKiiihhhgKaK...KmK....", + "........KccKiiihhhgKaK...KmK....", + ".......KiKKKiiihhhgKK....KmK....", + "......KihgKKiiihhhgK.....KmK....", + "......KihgKKiiihhhgKK....KmK....", + "......KihgKKiiihhhgKaK...KmK....", + "......KihgKcKiiKhhKbaK...KmK....", + "......KihgKcbKK.KKcbaaK..KmK....", ".....KihgKcbbaK.KccbbaK..KmK....", ".....KihgKcbaaK.KcccbaaK.KmK....", ".....KihgKccaaK..KcccccK.KmK....", @@ -299,12 +299,12 @@ const CELLS = { "KKKKKKKbaaaKKKbaaaKKKKKKKlkkKKKK", "mmmmmmKcbbaKmKcbbaKmmmkkkkkkjjjw", "KKKKKKKccbbKKKccbbKKKKKKKlkklKKK", - "......KcccKKKKccccK....KlkjjklK.", - "......KcccKddKcccaK...KlkjjjjjkK", - ".....KccbKfeeKccbaK..Klkjjjjjjkk", - ".....KccKffeeKccbaK..Klkjjjjjjkk", - ".....KcbKffeeKccbaK...KlkjjjjkkK", - "....KccbKffeeKccbaK....KlllkkkK.", + "......KcccKKKKccccK....KlkkkklK.", + "......KcccKddKcccaK...KlkkkkkkjK", + ".....KccbKfeeKccbaK..Klkkkkkkkjj", + ".....KccKffeeKccbaK..Klkkkkkkkjj", + ".....KcbKffeeKccbaK...KlkkkkkjjK", + "....KccbKffeeKccbaK....KllljjjK.", "....KccbKfKKKKccbaK.....KKKKKK..", "....KccaKffeeKccbaK.............", "....KccKfffeKccbaK..............", @@ -324,20 +324,20 @@ const CELLS = { ".......KKKKKKKKK................", "......KnnnnnnnnnK...............", "......KnnnnnnnnnK...............", - ".......KKKKKKKKKgK..............", - "......KiiiiihhhggK..............", - "......KiiiiihhhggK..............", - "......KiiiiihhhggK..............", - ".....KKiiiiihhhhggK.............", - "....KiKiiiiihhhhggK.............", - ".....KiiiiiihhhhggK.............", - ".....KiiiiiihhhhggK.............", - ".....KiiiiiihhhhggK.............", - "....KKiiiiiihhhhggK.............", - "...KiKiiiiiihhhhgggK............", - "...KiKiiiiiihhhhgggK............", - "...KihKiiKiiKhhKggKaK...........", - "...KigKKKaKK.KKcKKbaaK..........", + ".......KKKKKKKKKaK..............", + "......KcKiiihhgKaK..............", + "......KcKiiihhgKaaK.............", + "......KcKiiihhgKaaK.............", + ".....KccKiiihhgKaaK.............", + ".....KccKiiihhgKaaK.............", + ".....KccKiiihhhgKaK.............", + ".....KccKiiihhhgKaK.............", + "....KiKKKiiihhhgKK..............", + "....KigKKiiihhhgKK..............", + "...KihgKKiiihhhgKaK.............", + "...KihgKKiiihhhgKaaK............", + "...KihgKcKiiKhhKbbaaK...........", + "...KigKcbaKK.KKccbbaaK..........", "..KihgKcbaaK..KcccccccK.........", "..KihgKccaK....KcccbaaK.........", "...KKKcaacK.....KcccbaK.........", @@ -392,20 +392,20 @@ const CELLS = { "KKKKKKKKKKbaaKKKKbbbaaKKKlkkKKKK", "mmmmmmmmKcbbaaKmKccbbaKkkkkkjjjw", "KKKKKKKKKKcbbKKK.KccbK.KKlkklKKK", - ".....KnnnnKcKnnK..KKK..KlkjjklK.", - "......KKKKKKKKKgK.....KlkjjjjjkK", - "....KKiiiiihhhggK....Klkjjjjjjkk", - "...KiKiiiiihhhggK....Klkjjjjjjkk", - "..KihKiiiiihhhggK.....KlkjjjjkkK", - ".KihgKiiiiihhhhggK.....KlllkkkK.", - "KihgKiiiiiihhhhggK......KKKKKK..", - "ihgKKiiiiiihhhhggK..............", - "KKK.KiiiiiihhhhggK..............", - "....KiiiiiihhhhggK.K............", - "....KiiiiiihhhhgggKaKK..........", - "....KiiiiiihhhhgggKaccK.........", - "....KiKiiKihKhhKggKcaacK........", - ".....KcKKaKK.KKcKKccbaaK........", + ".....KnnnnKcKnnK..KKK..KlkkkklK.", + "......KKKKKKKKKaK.....KlkkkkkkjK", + "....KKcKiiihhgKaK....Klkkkkkkkjj", + "...KiKcKiiihhgKaaK...Klkkkkkkkjj", + "..KiKccKiiihhgKaaK....KlkkkkkjjK", + ".KihKccKiiihhgKaaK.....KllljjjK.", + "KihgKccKiiihhhgKaK......KKKKKK..", + "ihgKKccKiiihhhgKaK..............", + "KKK.KccKiiihhhgKaK..............", + ".....KKKiiihhhgKKaKK............", + ".....KcKiiihhhgKbaaaKK..........", + ".....KcKiiihhhgKbbbaccK.........", + ".....KcKiKihKhgKccbcaacK........", + "....KcccKaKK.KKcccccbaaK........", "....KcccbaK....KKccccbcK........", "....KccccaK......KKcccaK........", "....KcbaacK.......KccbaK........", @@ -456,20 +456,20 @@ const CELLS = { "......KKKaaKbbKaacK......KklK...", "KKKKKKKKbbaaKKbbaaKKKKKKKlkkKKKK", "mmmmmmmKcbbaKKcbbaKmmmkkkkkkjjjw", - "KKKKKKK.KccKKKKccK.KKKKKKlkklKKK", - ".......KKKKKKKKKKK.....KlkjjklK.", - ".......KiiiiihhhggK...KlkjjjjjkK", - "......KiiiiihhhhggK..Klkjjjjjjkk", - ".....KKiiiiihhhhggK..Klkjjjjjjkk", - "....KiKiiiiihhhhggK...KlkjjjjkkK", - "....KiKiiiiihhhhggK....KlllkkkK.", - "...KihKiiiiihhhhggK.....KKKKKK..", - "...KihKiiiiiihhhhggK............", - "..KihgKiiiiiihhhhggK............", - "..KihKiiiiiihhhhgggK............", - ".KihgKiiiiiihhhhgggK............", - ".KihgKKiiKiiKhhKggKK............", - "KihgK.KKKbKK.KKcKKaaK...........", + "KKKKKKKKKccKKKKccK.KKKKKKlkklKKK", + "......KcKKKKKKKKKaK....KlkkkklK.", + "......KccKiiihhgKaK...KlkkkkkkjK", + "......KccKiiihhgKaK..Klkkkkkkkjj", + ".....KKccKiiihhgKaK..Klkkkkkkkjj", + "....KiKccKiiihhgKaK...KlkkkkkjjK", + "....KiKcKiiihhhgKaaK...KllljjjK.", + "...KihKcKiiihhhgKaaK....KKKKKK..", + "...KihKcKiiihhhgKaaK............", + "..KihgKKKiiihhhgKKK.............", + "..KihgKKKiiihhhgKaK.............", + ".KihgKKcKiiihhhgKaaK............", + ".KihgKKccKiiKhhKbbaK............", + "KihgK.KccbKK.KKccbaaK...........", ".KKK.KcccbaaK.KcccbccK..........", ".....KcccbaK..KccccaacK.........", ".....KccccaK...KcccbaaK.........", @@ -519,21 +519,21 @@ const CELLS = { ".....KccbKccccbbbaaK....KmK.....", "......KccKccccbbbaaK....KmK.....", ".......KcKKKKKKKKKK.....KmK.....", - ".......KcKnnnnnnnnnK....KmK.....", "........KKnnnnnnnnnK....KmK.....", - ".........KKKKKKKKKKK....KmK.....", - ".........KiiiiihhhggK...KmK.....", - "........KiiiiihhhhggK...KmK.....", - "........KiiiiihhhhggK...KmK.....", - "........KiiiiihhhhggK...KmK.....", - "........KiiiiihhhhggK...KmK.....", - "........KiiiiihhhhggK...KmK.....", - ".......KKiiiiiihhhhggK..KmK.....", - "......KiKiiiiiihhhhggK..KmK.....", - ".......KiiiiiihhhhgggK..KmK.....", - ".......KiiiiiihhhhgggK...K......", - "......KKiKiiKihKhhKggK..........", - ".....KihKgKKaKK.KKbKKK..........", + ".........KnnnnnnnnnK....KmK.....", + "........KcKKKKKKKKKaK...KmK.....", + "........KccKiiihhgKaK...KmK.....", + "........KccKiiihhgKaK...KmK.....", + "........KccKiiihhgKaK...KmK.....", + "........KccKiiihhgKaK...KmK.....", + "........KcKiiihhhgKaaK..KmK.....", + "........KcKiiihhhgKaaK..KmK.....", + ".......KKcKiiihhhgKaaK..KmK.....", + "......KihKKiiihhhgKKK...KmK.....", + "......KihgKiiihhhgKaK...KmK.....", + "......KihgKiiihhhgKaK....K......", + "......KihgKiKihKhgKaaK..........", + ".....KihggKKaKK.KKbbaK..........", ".....KihgKcbaaKKcccbaaK.........", ".....KihgKcbaK..KcccbaaK........", ".....KihgKbbaK..KccccccK........", @@ -562,12 +562,12 @@ const CELLS = { "KKKKkklKKK.KbaaK..KbaaK.KKKKKKKK", "wjjjkkkkkkKcbbaaKKcbbaaKmmmmmmmm", "KKKlkklKKK.KcbbK..KcbbK.KKKKKKKK", - ".KlkjjklK.KccccK..KcccK.........", - "KkjjjjjklKKcccK...KccaK.........", - "kkjjjjjjklKcbKK..KccbaK.........", - "kkjjjjjjklKcKddK.KccbaK.........", - "KkkjjjjklKcKfeedKKccaK..........", - ".KkkklllKKKffeeddKccaK..........", + ".KlkkkklK.KccccK..KcccK.........", + "KjkkkkkklKKcccK...KccaK.........", + "jjkkkkkkklKcbKK..KccbaK.........", + "jjkkkkkkklKcKddK.KccbaK.........", + "KjjkkkkklKcKfeedKKccaK..........", + ".KjjjlllKKKffeeddKccaK..........", "..KKKKKKKcKffeeedKcbaK..........", "........KcKffeeeKccbaK..........", "........KcKfKKKKKccbaK..........", @@ -589,19 +589,19 @@ const CELLS = { ".........KKKKKKKKK..............", "........KnnnnnnnnnK.............", "........KnnnnnnnnnK.............", - "........KKKKKKKKKKK.............", - "........KiiiiihhhggK............", - ".......KiiiiihhhhggK............", - ".......KiiiiihhhhggK............", - ".......KiiiiihhhhggK............", - ".......KiiiiihhhhggK............", - "......KKiiiiihhhhggK............", - ".....KiKiiiiiihhhhggK...........", - ".....KiKiiiiiihhhhggK...........", - "......KiiiiiihhhhgggK...........", - ".....KKiiiiiihhhhgggK...........", - "....KiKiiKiiKhhKhgKgKK..........", - "....KihKKcKKaKK.KKcKaaK.........", + ".......KcKKKKKKKKKaK............", + ".......KccKiiihhgKaK............", + ".......KccKiiihhgKaK............", + ".......KccKiiihhgKaK............", + ".......KccKiiihhgKaK............", + ".......KcKiiihhhgKaaK...........", + "......KKcKiiihhhgKaaK...........", + ".....KiKcKiiihhhgKaaK...........", + ".....KihKKiiihhhgKKK............", + ".....KihgKiiihhhgKaaK...........", + ".....KihgKiiihhhgKbaK...........", + "....KihggKiiKhhKgKbaaK..........", + "....KihgKcKKaKK.KccbaaK.........", "....KihgKcbaaK.KcccbcccK........", "....KihgKcbaK...KcccaaaK........", ".....KKKcccaK....KccbbacK.......", @@ -659,24 +659,24 @@ const CELLS = { ".........KmKKKKKKKccaaK.......x.", "........KnKKaaKnKccbaK........x.", "........KnKbbaaKKccbaK........x.", - ".......KKKKcbbaKKcbaK...........", - "......KiKiiKccKKccbaK........x..", - "....KKiKiiiiKKKKaacK............", - "...KihgKiiiiihKbbaaK............", - "..KihggKiiiiihKcbbaK............", - "KKihggKKiiiiihhKccKK............", - "iihggK.KiiiiihhhKKKmK...........", - "KKigK..KiiiiiihhhhgKmK..........", - "..KK...KiiiiiihhhhggKmK...K.....", - "......KiiiiiihhhhgggKKmK.KlK....", - "......KiiiiiihhhhgggK.KkKkkK....", - ".....KKiiKiiKhhKhgKgcKlkkKK.....", - "....KccccaKK.KKcKcbKKllkkkK.....", - "....KccaacK....KcccbKlkjjkjK....", - "...KccbbacK....KccccKlkjjkKjK...", - "...KccccbK.....KccbaaKkjjkKKjK..", - "...KccbccK.....KccbaK.KkjkK.KjK.", - "...KccbaK......KccbaK..KkK...KjK", + ".......KcKKcbbaKKcbaK...........", + "......KKccKKccKKccbaK........x..", + "....KKiKccKiKKKKaacK............", + "...KihgKccKiiiKbbaaK............", + "..KihggKccKiiiKcbbaK............", + "KKihggKKcKiiihhKccKK............", + "iihggK.KcKiiihhhKKKmK...........", + "KKigK..KcKiiihhhgKaKmK..........", + "..KK...KKKiiihhhgKK.KmK...K.....", + "......KccKiiihhhgKaK.KmK.KlK....", + ".....KcccKiiihhhgKaaK.KkKkkK....", + ".....KcccKiiKhhKgKcccKlkkKK.....", + "....KccccaKK.KKcKcbaKllkkkK.....", + "....KccaacK....KcccbKlkkkkjK....", + "...KccbbacK....KccccKlkkkkKjK...", + "...KccccbK.....KccbaaKjkkkKKjK..", + "...KccbccK.....KccbaK.KjkjK.KjK.", + "...KccbaK......KccbaK..KjK...KjK", "..KcbaaaK......KcbaaK...K.....Kj", "..KcbbaaK.....KcbbaaK..........K", "..KcbbaaK.....KcbbaaaK..........", @@ -691,14 +691,14 @@ const CELLS = { "................................", "................................", "..........................K...KK", - ".........................KwK.Kkk", - ".........................KjKKkkk", - ".........................KjKljjj", - "........................KKjlkjjj", - "...............KK......Klkkkjjjj", - "..............KddK....Klkkkkjjjj", - ".............KfeedK....KKlklkjjj", - "............KffeeddK.....KkKlkjj", + ".........................KwK.Kjj", + ".........................KjKKjjj", + ".........................KjKlkkk", + "........................KKjlkkkk", + "...............KK......Klkkkkkkk", + "..............KddK....Klkkkkkkkk", + ".............KfeedK....KKlklkkkk", + "............KffeeddK.....KkKlkkk", "............KffeeeddK....KkKKlkk", "............KffeeeddK....KkK.Kll", "............KfKKKKKoK....KmK..KK", @@ -720,20 +720,20 @@ const CELLS = { ".......KcbKKKKKKKKKK...KcbbK....", "........KKnnnnnnnnnK....KcK.....", ".........KnnnnnnnnnK.....KmK....", - "..........KKKKKKKKKgK....KmK....", - ".........KiiiiihhhggK....KmK....", - "........KKiiiiihhhggK....KmK....", - ".......KiKiiiiihhhggK....KmK....", - ".......KiKiiiiihhhhggK...KmK....", - ".......KiKiiiiihhhhggK...KmK....", - "......KiKiiiiiihhhhggK...KmK....", - "......KiKiiiiiihhhhggK...KmK....", - ".....KihKiiiiiihhhhggK...KmK....", - ".....KihKiiiiiihhhhggK...KmK....", - "....KihgKiiiiiihhhhgggK..KmK....", - "....KihgKiiiiiihhhhgggK..KmK....", - "....KihgKKiiKiiKhhKggK...KmK....", - "...KihggKcKKbKK.KKcKKaK..KmK....", + "..........KKKKKKKKKaK....KmK....", + ".........KcKiiihhgKaK....KmK....", + "........KKcKiiihhgKaaK...KmK....", + ".......KiKcKiiihhgKaaK...KmK....", + "........KccKiiihhgKaaK...KmK....", + ".......KKccKiiihhgKaaK...KmK....", + "......KiKccKiiihhhgKaK...KmK....", + "......KiKccKiiihhhgKaK...KmK....", + ".....KihgKKKiiihhhgKK....KmK....", + ".....KihgKcKiiihhhgK.....KmK....", + "....KihggKcKiiihhhgKK....KmK....", + "....KihgKKcKiiihhhgKaK...KmK....", + "....KihgKcccKiiKhhKbaK...KmK....", + "...KihggKccbbKK.KKcbaaK..KmK....", "...KihgKKccbaaK.KccbccK..KmK....", "....KKKKccccaaK.KcccaacK.KmK....", ".......KccaacK...KccbaaK.KmK....", From 549dc971925daf8042e3e4adecf150f37550af00 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:56:21 +0000 Subject: [PATCH 08/17] =?UTF-8?q?Tollard=20=ED=8C=A8=EC=8A=A4=203=20?= =?UTF-8?q?=EC=B1=84=ED=83=9D:=20=EA=B2=89=EC=98=B7=EC=9D=84=20=EC=A2=81?= =?UTF-8?q?=ED=98=80=20=ED=97=88=EB=A6=AC=20=EC=87=A0=EB=AF=B8=EB=8A=98?= =?UTF-8?q?=EC=9D=84=20=EB=93=9C=EB=9F=AC=EB=82=B8=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 플레이어, 애니메이터, 관객이 두 순서 다 새 판을 골랐다. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/log.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index 0c94972a..ac9b0a70 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -28,8 +28,11 @@ - 버린 판정: 없음 - 「옛」인 렌즈가 있어 되돌림. 판정 넷이 다 날 가운데를 하얗게 띄운 것을 빛과 어긋난 베개 명암으로 읽음 -### 패스 3 +### 패스 3 · 채택 - 확인 차례: ② 붉은 겉옷과 짙은 회색 윗몸이 같은 크기로 다퉈 세 단 위계가 없음(플레이어) 예 - 고칠 것: ② 덩어리 위계 · 겉옷(약 548 LED)과 윗몸·팔(약 470 LED)이 같은 넓이로 다툼 · (24,90) (22,62) - 짚은 렌즈: 플레이어 7점 · 「덩어리 위계가 두 단뿐」 - 기대: pair-zoom 과 pair-led 에서 겉옷이 앞으로 늘어진 좁은 천으로 줄고 그 둘레에 허리 쇠미늘이 보여, 가슴부터 다리까지 쇠 갑옷이 한 큰 덩어리, 겉옷이 중간 덩어리로 읽힘 +- 바뀐 LED: 정지 352 · 10초 1156 · 노브 1004 · 팔레트 17→17색 +- A/B: 장인 같음(정순 새, 역순 옛 「드러난 허벅지가 외곽선 사이 한 픽셀 띠라 겹선」) · 플레이어 새 · 애니메이터 새 · 관객 새 +- 버린 판정: 없음 From 4317cd6502bd09a06bfa509e115b2f51ec40e47c Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:59:19 +0000 Subject: [PATCH 09/17] =?UTF-8?q?Tollard=20=EA=B8=B0=EB=A1=9D=EC=97=90=20?= =?UTF-8?q?=ED=8C=A8=EC=8A=A4=203=20=EC=BB=A4=EB=B0=8B=EC=9D=84=20?= =?UTF-8?q?=EC=A0=81=EB=8A=94=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/log.md | 1 + 1 file changed, 1 insertion(+) diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index ac9b0a70..5abe9892 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -36,3 +36,4 @@ - 바뀐 LED: 정지 352 · 10초 1156 · 노브 1004 · 팔레트 17→17색 - A/B: 장인 같음(정순 새, 역순 옛 「드러난 허벅지가 외곽선 사이 한 픽셀 띠라 겹선」) · 플레이어 새 · 애니메이터 새 · 관객 새 - 버린 판정: 없음 +- 커밋 549dc97 From a5547ad297ba0ed233b92e9c5713cb60643501a3 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 03:08:04 +0000 Subject: [PATCH 10/17] =?UTF-8?q?Tollard=20=ED=8C=A8=EC=8A=A4=204=20?= =?UTF-8?q?=EC=8B=9C=EB=8F=84:=20=EC=95=9E=20=ED=97=88=EB=B2=85=EC=A7=80?= =?UTF-8?q?=20=EA=B0=80=EC=9E=A5=EC=9E=90=EB=A6=AC=EC=99=80=20=EB=92=A4=20?= =?UTF-8?q?=EA=B0=80=EC=8B=9C=EB=A5=BC=20=EB=B9=9B=20=EC=AA=BD=EC=9C=BC?= =?UTF-8?q?=EB=A1=9C=20=EA=B3=A0=EC=B9=9C=EB=8B=A4(A/B=20=EC=A4=91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/log.md | 8 ++++++++ incoming/pattern-study/patterns/tollard.js | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index 5abe9892..a4e698a2 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -37,3 +37,11 @@ - A/B: 장인 같음(정순 새, 역순 옛 「드러난 허벅지가 외곽선 사이 한 픽셀 띠라 겹선」) · 플레이어 새 · 애니메이터 새 · 관객 새 - 버린 판정: 없음 - 커밋 549dc97 +- 비평 2: 장인 6 · 플레이어 8 · 애니메이터 5 · 관객 6 · 블라인드 읽기 2/3(성격을 「묵묵하고 우직한 경비병」으로 읽음, 냉혹함 놓침) · 닮은꼴 악마성의 도끼 갑옷 기사 「조금」 +- 건너뛴 후보: ① 내려찍기 타격에서 창이 몸과 다리에 묻힘(애니메이터), ① 쉬기에서 창날이 오른쪽 위 모서리에 잘림(관객). 둘 다 2.0초 정지 그림에 없는 셀이라 ①층 A/B 그림(pair-zoom, pair-led)에 나오지 않음. ① 창과 발이 패널 끝에서 잘림(관객)은 「크기와 자리」가 받아들이는 것 + +### 패스 4 +- 확인 차례: ① 투구와 도끼날이 크기가 같고 둘 다 가장 밝아 다툼(플레이어) 아니오 · ② 오른 허벅지 위 오른 가장자리가 어둡고 창 가시가 줄마다 반대로 칠해져 빛을 안 따름(장인) 예 · ④ 오른 무릎 하이라이트가 낱칸으로 흩어짐(장인) 아니오 +- 고칠 것: ② 빛 방향 · 오른 허벅지 위 (40~43,98) 의 빛 쪽 가장자리가 가장 어두운 단이고, 창 뒤 가시 (52~55,68) 가 왼쪽 밝고 오른쪽 어두움 +- 짚은 렌즈: 장인 6점 · 「오른 허벅지 윗부분은 밝은 쪽인 오른 가장자리 두 칸이 어두운 색」 +- 기대: pair-zoom 에서 앞 허벅지 오른 가장자리와 뒤 가시 오른쪽이 밝은 단이 되어 몸 전체가 오른쪽 위 빛을 따름 diff --git a/incoming/pattern-study/patterns/tollard.js b/incoming/pattern-study/patterns/tollard.js index f6a44a03..c0af2299 100644 --- a/incoming/pattern-study/patterns/tollard.js +++ b/incoming/pattern-study/patterns/tollard.js @@ -295,7 +295,7 @@ const CELLS = { "................................", "..........................K.....", "........KK.....KK........KlK....", - ".......KaaK...KaaK.......KklK...", + ".......KaaK...KaaK.......KlkK...", "KKKKKKKbaaaKKKbaaaKKKKKKKlkkKKKK", "mmmmmmKcbbaKmKcbbaKmmmkkkkkkjjjw", "KKKKKKKccbbKKKccbbKKKKKKKlkklKKK", @@ -388,7 +388,7 @@ const CELLS = { "......KccccccccKcccbaK..........", ".......KccccccccKKcbaK....K.....", ".......KcccKcbcccKcccK...KlK....", - ".......KccKaKbbaaKaaaK...KklK...", + ".......KccKaKbbaaKaaaK...KlkK...", "KKKKKKKKKKbaaKKKKbbbaaKKKlkkKKKK", "mmmmmmmmKcbbaaKmKccbbaKkkkkkjjjw", "KKKKKKKKKKcbbKKK.KccbK.KKlkklKKK", @@ -403,8 +403,8 @@ const CELLS = { "KKK.KccKiiihhhgKaK..............", ".....KKKiiihhhgKKaKK............", ".....KcKiiihhhgKbaaaKK..........", - ".....KcKiiihhhgKbbbaccK.........", - ".....KcKiKihKhgKccbcaacK........", + ".....KcKiiihhhgKbbbaaaK.........", + ".....KcKiKihKhgKccbbaaaK........", "....KcccKaKK.KKcccccbaaK........", "....KcccbaK....KKccccbcK........", "....KccccaK......KKcccaK........", @@ -453,7 +453,7 @@ const CELLS = { "....KccKcccccbbKcbaK............", "....KccKccccbbKccbaK......K.....", ".....KcKcKKcbbKccaK......KlK....", - "......KKKaaKbbKaacK......KklK...", + "......KKKaaKbbKaacK......KlkK...", "KKKKKKKKbbaaKKbbaaKKKKKKKlkkKKKK", "mmmmmmmKcbbaKKcbbaKmmmkkkkkkjjjw", "KKKKKKKKKccKKKKccK.KKKKKKlkklKKK", From 731dc431533ad8c791ba2986a6d9d113fb6bad24 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 03:15:22 +0000 Subject: [PATCH 11/17] =?UTF-8?q?Tollard=20=ED=8C=A8=EC=8A=A4=205=20?= =?UTF-8?q?=EC=8B=9C=EB=8F=84:=20=EC=99=BC=20=ED=97=88=EB=B2=85=EC=A7=80?= =?UTF-8?q?=20=EC=98=86=20=EA=B2=B9=EC=84=A0=EC=9D=84=20=EC=87=A0=20?= =?UTF-8?q?=EA=B7=B8=EB=8A=98=EB=A1=9C=20=EB=A9=94=EC=9A=B4=EB=8B=A4(A/B?= =?UTF-8?q?=20=EC=A4=91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/log.md | 12 +++++++++++- incoming/pattern-study/patterns/tollard.js | 12 ++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index a4e698a2..5ae5d427 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -40,8 +40,18 @@ - 비평 2: 장인 6 · 플레이어 8 · 애니메이터 5 · 관객 6 · 블라인드 읽기 2/3(성격을 「묵묵하고 우직한 경비병」으로 읽음, 냉혹함 놓침) · 닮은꼴 악마성의 도끼 갑옷 기사 「조금」 - 건너뛴 후보: ① 내려찍기 타격에서 창이 몸과 다리에 묻힘(애니메이터), ① 쉬기에서 창날이 오른쪽 위 모서리에 잘림(관객). 둘 다 2.0초 정지 그림에 없는 셀이라 ①층 A/B 그림(pair-zoom, pair-led)에 나오지 않음. ① 창과 발이 패널 끝에서 잘림(관객)은 「크기와 자리」가 받아들이는 것 -### 패스 4 +### 패스 4 · 되돌림 - 확인 차례: ① 투구와 도끼날이 크기가 같고 둘 다 가장 밝아 다툼(플레이어) 아니오 · ② 오른 허벅지 위 오른 가장자리가 어둡고 창 가시가 줄마다 반대로 칠해져 빛을 안 따름(장인) 예 · ④ 오른 무릎 하이라이트가 낱칸으로 흩어짐(장인) 아니오 - 고칠 것: ② 빛 방향 · 오른 허벅지 위 (40~43,98) 의 빛 쪽 가장자리가 가장 어두운 단이고, 창 뒤 가시 (52~55,68) 가 왼쪽 밝고 오른쪽 어두움 - 짚은 렌즈: 장인 6점 · 「오른 허벅지 윗부분은 밝은 쪽인 오른 가장자리 두 칸이 어두운 색」 - 기대: pair-zoom 에서 앞 허벅지 오른 가장자리와 뒤 가시 오른쪽이 밝은 단이 되어 몸 전체가 오른쪽 위 빛을 따름 +- 바뀐 LED: 정지 24 · 10초 40 · 노브 40 · 팔레트 17→17색 +- A/B: 장인 같음(정순 같음, 역순 새) · 플레이어 같음 · 애니메이터 같음(정순 같음, 역순 옛 「무릎 주름을 메워 관절 없이 번짐」) · 관객 새 +- 버린 판정: 없음 +- 짚은 렌즈(장인)가 「새」가 아니라 되돌림 + +### 패스 5 +- 확인 차례: ④ 오른 어깨 밝은 칸이 윤곽 밖에 뜨고 왼 어깨 윤곽이 튐(장인) 아니오 · ④ 두 정강이 명암 경계가 윤곽과 같은 줄에서 밀리는 밴딩(장인) 아니오 · ④ 왼 허벅지 옆 1칸 폭 회색 띠를 검정 선 둘이 감싼 겹선(장인) 예 · ⑥ 내려찍기 뒤 회복 장 없음(애니메이터) 아니오 +- 고칠 것: ④ 겹선 · 찌르기 셀 왼 허벅지 옆 (12~13, 96~101) 의 1칸 폭 회색 띠가 검정 선 둘 사이에 낌 +- 짚은 렌즈: 장인 6점 · 「1칸 폭 회색 띠를 검정 선 둘이 세 줄 내내 감싸는 겹선」 +- 기대: pair-zoom 의 (12~15, 96~101) 에서 안쪽 검정 선이 쇠 그늘 단으로 바뀌어 회색 띠가 2칸 폭 허벅지로 읽힘 diff --git a/incoming/pattern-study/patterns/tollard.js b/incoming/pattern-study/patterns/tollard.js index c0af2299..c344f9b7 100644 --- a/incoming/pattern-study/patterns/tollard.js +++ b/incoming/pattern-study/patterns/tollard.js @@ -295,7 +295,7 @@ const CELLS = { "................................", "..........................K.....", "........KK.....KK........KlK....", - ".......KaaK...KaaK.......KlkK...", + ".......KaaK...KaaK.......KklK...", "KKKKKKKbaaaKKKbaaaKKKKKKKlkkKKKK", "mmmmmmKcbbaKmKcbbaKmmmkkkkkkjjjw", "KKKKKKKccbbKKKccbbKKKKKKKlkklKKK", @@ -388,7 +388,7 @@ const CELLS = { "......KccccccccKcccbaK..........", ".......KccccccccKKcbaK....K.....", ".......KcccKcbcccKcccK...KlK....", - ".......KccKaKbbaaKaaaK...KlkK...", + ".......KccKaKbbaaKaaaK...KklK...", "KKKKKKKKKKbaaKKKKbbbaaKKKlkkKKKK", "mmmmmmmmKcbbaaKmKccbbaKkkkkkjjjw", "KKKKKKKKKKcbbKKK.KccbK.KKlkklKKK", @@ -402,9 +402,9 @@ const CELLS = { "ihgKKccKiiihhhgKaK..............", "KKK.KccKiiihhhgKaK..............", ".....KKKiiihhhgKKaKK............", - ".....KcKiiihhhgKbaaaKK..........", - ".....KcKiiihhhgKbbbaaaK.........", - ".....KcKiKihKhgKccbbaaaK........", + ".....KcciiihhhgKbaaaKK..........", + ".....KcciiihhhgKbbbaccK.........", + ".....KcciKihKhgKccbcaacK........", "....KcccKaKK.KKcccccbaaK........", "....KcccbaK....KKccccbcK........", "....KccccaK......KKcccaK........", @@ -453,7 +453,7 @@ const CELLS = { "....KccKcccccbbKcbaK............", "....KccKccccbbKccbaK......K.....", ".....KcKcKKcbbKccaK......KlK....", - "......KKKaaKbbKaacK......KlkK...", + "......KKKaaKbbKaacK......KklK...", "KKKKKKKKbbaaKKbbaaKKKKKKKlkkKKKK", "mmmmmmmKcbbaKKcbbaKmmmkkkkkkjjjw", "KKKKKKKKKccKKKKccK.KKKKKKlkklKKK", From 33a20385d4cb2f33f20a3b29dade9c1cc361f3db Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 03:19:10 +0000 Subject: [PATCH 12/17] =?UTF-8?q?Tollard=20=ED=8C=A8=EC=8A=A4=206=20?= =?UTF-8?q?=EC=8B=9C=EB=8F=84:=20K2=20=EB=B2=94=EC=9C=84=EB=A5=BC=202.3=20?= =?UTF-8?q?=EA=B9=8C=EC=A7=80=EB=A1=9C=20=EC=A4=84=EC=97=AC=20=EB=91=90=20?= =?UTF-8?q?=EB=81=9D=EC=9D=B4=20=EB=8B=AC=EB=9D=BC=20=EB=B3=B4=EC=9D=B4?= =?UTF-8?q?=EA=B2=8C=20=ED=95=9C=EB=8B=A4(A/B=20=EC=A4=91)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/brief.md | 2 +- incoming/pattern-study/craft/tollard/log.md | 12 +++++++++++- incoming/pattern-study/patterns/tollard.js | 12 ++++++------ 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/incoming/pattern-study/craft/tollard/brief.md b/incoming/pattern-study/craft/tollard/brief.md index d531cbdd..e0bcd7bf 100644 --- a/incoming/pattern-study/craft/tollard/brief.md +++ b/incoming/pattern-study/craft/tollard/brief.md @@ -21,7 +21,7 @@ slug: tollard 노브 넷과 버튼이에요. - K1 동작: 범위 [0, 2]. 0 은 찌르기와 내려찍기를 차례로, 1 은 찌르기만, 2 는 내려찍기만 쉬기 사이에 되풀이해요. -- K2 빠르기: 범위 [0.5, 3]. 빠르기는 K2 ÷ 2 이고 2 가 그린 그대로예요. +- K2 빠르기: 범위 [0.5, 2.3]. 빠르기는 K2 ÷ 2 이고 2 가 그린 그대로예요. 2.0초에 느린 끝은 아직 쉬고 빠른 끝은 찌르기에서 물러나는 중이에요(91판 패스 6 에서 3 을 2.3 으로). - K3 팔레트 바꾸기: 손으로 만든 네 벌이에요. 0 검은 쇠에 핏빛 겉옷(흔한 적), 1/4 녹슨 쇠에 이끼 초록 겉옷, 1/2 금빛 갑옷에 검보라 겉옷(센 적), 3/4 흰 은갑에 청색 겉옷. - K4 배경: 손으로 고른 네 벌이에요. 0 짙은 파랑 성 돌, 1/4 보라 지하 묘실, 1/2 청록 물길, 3/4 무채색 회색 돌. - 버튼: 없어요. diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index 5ae5d427..7161f224 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -50,8 +50,18 @@ - 버린 판정: 없음 - 짚은 렌즈(장인)가 「새」가 아니라 되돌림 -### 패스 5 +### 패스 5 · 되돌림 - 확인 차례: ④ 오른 어깨 밝은 칸이 윤곽 밖에 뜨고 왼 어깨 윤곽이 튐(장인) 아니오 · ④ 두 정강이 명암 경계가 윤곽과 같은 줄에서 밀리는 밴딩(장인) 아니오 · ④ 왼 허벅지 옆 1칸 폭 회색 띠를 검정 선 둘이 감싼 겹선(장인) 예 · ⑥ 내려찍기 뒤 회복 장 없음(애니메이터) 아니오 - 고칠 것: ④ 겹선 · 찌르기 셀 왼 허벅지 옆 (12~13, 96~101) 의 1칸 폭 회색 띠가 검정 선 둘 사이에 낌 - 짚은 렌즈: 장인 6점 · 「1칸 폭 회색 띠를 검정 선 둘이 세 줄 내내 감싸는 겹선」 - 기대: pair-zoom 의 (12~15, 96~101) 에서 안쪽 검정 선이 쇠 그늘 단으로 바뀌어 회색 띠가 2칸 폭 허벅지로 읽힘 +- 바뀐 LED: 정지 12 · 10초 12 · 노브 12 · 팔레트 17→17색 +- A/B: 장인 같음 · 플레이어 같음 · 애니메이터 옛(「다리와 붉은 천 사이 외곽선이 끊겨 다리가 천에 붙음」) · 관객 같음(정순 같음, 역순 새) +- 버린 판정: 없음 +- 짚은 렌즈(장인)가 「새」가 아니고 「옛」인 렌즈가 있어 되돌림 + +### 패스 6 +- 확인 차례: ⑦ K2 줄의 0 칸과 1 칸이 같은 쉬기 그림(관객) 예 +- 고칠 것: ⑦ 노브 · K2 를 끝에서 끝으로 돌려도 2.0초 그림이 같은 쉬기 자세 · knobs 둘째 줄 +- 짚은 렌즈: 관객 6점 · 「K2 첫 칸과 끝 칸이 LED 하나도 다르지 않은 같은 장」 +- 기대: pair-knobs 의 K2 에서 0 은 쉬기, 1 은 찌르기 뒤 회복 자세라 두 끝이 한눈에 다름(범위를 [0.5, 3] 에서 [0.5, 2.3] 으로) diff --git a/incoming/pattern-study/patterns/tollard.js b/incoming/pattern-study/patterns/tollard.js index c344f9b7..4182dd0d 100644 --- a/incoming/pattern-study/patterns/tollard.js +++ b/incoming/pattern-study/patterns/tollard.js @@ -9,10 +9,10 @@ // Round: 91 // =============================== // @matrix 64x128 -// @knobs Action=0..2, Speed=0.5..3, Paint=0..1, Wall=0..1 +// @knobs Action=0..2, Speed=0.5..2.3, Paint=0..1, Wall=0..1 // // Knob 1: Action. 0 plays the thrust and the chop in turn, 1 only the thrust, 2 only the chop, each between rests. -// Knob 2: Speed. Half the knob is the speed: 2 plays the cells as timed, 0.5 at a quarter, 3 at one and a half. +// Knob 2: Speed. Half the knob is the speed: 2 plays the cells as timed, 0.5 at a quarter, 2.3 a little faster, so at 2 s the slow end is still resting and the fast end is already pulling back from the thrust. // Knob 3: Paint. Four hand-made palettes on the same pixels: blackened iron and blood red below 0.25, rusted iron and moss from 0.25, gilded plate and grape (the strong one) from 0.5, white silver and blue from 0.75. // Knob 4: Wall. The flat castle stone behind him: night blue below 0.25, crypt violet from 0.25, cistern teal from 0.5, grey from 0.75. @@ -402,9 +402,9 @@ const CELLS = { "ihgKKccKiiihhhgKaK..............", "KKK.KccKiiihhhgKaK..............", ".....KKKiiihhhgKKaKK............", - ".....KcciiihhhgKbaaaKK..........", - ".....KcciiihhhgKbbbaccK.........", - ".....KcciKihKhgKccbcaacK........", + ".....KcKiiihhhgKbaaaKK..........", + ".....KcKiiihhhgKbbbaccK.........", + ".....KcKiKihKhgKccbcaacK........", "....KcccKaKK.KKcccccbaaK........", "....KcccbaK....KKccccbcK........", "....KccccaK......KKcccaK........", @@ -818,7 +818,7 @@ export function update(dt, input, params) { if (params.key === undefined) setup(params); const k = input.knobValues || [0, 2, 0, 0.06]; params.mode = min(2, max(0, floor(k[0]))); - params.speed = min(3, max(0.5, k[1])) / 2; + params.speed = min(2.3, max(0.5, k[1])) / 2; params.paint = min(3, max(0, floor(k[2] * 4))); params.wall = min(3, max(0, floor(k[3] * 4))); params.t += min(dt || 0, 0.1) * params.speed; From 2a0ed243dc3b47523a6523b365bde3e827d55052 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 03:23:13 +0000 Subject: [PATCH 13/17] =?UTF-8?q?Tollard=20=ED=8C=A8=EC=8A=A4=206=20?= =?UTF-8?q?=EC=9D=84=20=EB=90=98=EB=8F=8C=EB=A6=AC=EA=B3=A0=20=EB=B0=94?= =?UTF-8?q?=ED=80=B4=EB=A5=BC=20=EC=9D=BC=EC=B0=8D=20=EB=8B=AB=EB=8A=94?= =?UTF-8?q?=EB=8B=A4:=20=EB=90=98=EB=8F=8C=EB=A6=BC=20=EC=84=B8=20?= =?UTF-8?q?=EB=B2=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/brief.md | 2 +- incoming/pattern-study/craft/tollard/log.md | 7 ++++++- incoming/pattern-study/patterns/tollard.js | 6 +++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/incoming/pattern-study/craft/tollard/brief.md b/incoming/pattern-study/craft/tollard/brief.md index e0bcd7bf..d531cbdd 100644 --- a/incoming/pattern-study/craft/tollard/brief.md +++ b/incoming/pattern-study/craft/tollard/brief.md @@ -21,7 +21,7 @@ slug: tollard 노브 넷과 버튼이에요. - K1 동작: 범위 [0, 2]. 0 은 찌르기와 내려찍기를 차례로, 1 은 찌르기만, 2 는 내려찍기만 쉬기 사이에 되풀이해요. -- K2 빠르기: 범위 [0.5, 2.3]. 빠르기는 K2 ÷ 2 이고 2 가 그린 그대로예요. 2.0초에 느린 끝은 아직 쉬고 빠른 끝은 찌르기에서 물러나는 중이에요(91판 패스 6 에서 3 을 2.3 으로). +- K2 빠르기: 범위 [0.5, 3]. 빠르기는 K2 ÷ 2 이고 2 가 그린 그대로예요. - K3 팔레트 바꾸기: 손으로 만든 네 벌이에요. 0 검은 쇠에 핏빛 겉옷(흔한 적), 1/4 녹슨 쇠에 이끼 초록 겉옷, 1/2 금빛 갑옷에 검보라 겉옷(센 적), 3/4 흰 은갑에 청색 겉옷. - K4 배경: 손으로 고른 네 벌이에요. 0 짙은 파랑 성 돌, 1/4 보라 지하 묘실, 1/2 청록 물길, 3/4 무채색 회색 돌. - 버튼: 없어요. diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index 7161f224..f840803c 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -60,8 +60,13 @@ - 버린 판정: 없음 - 짚은 렌즈(장인)가 「새」가 아니고 「옛」인 렌즈가 있어 되돌림 -### 패스 6 +### 패스 6 · 되돌림 - 확인 차례: ⑦ K2 줄의 0 칸과 1 칸이 같은 쉬기 그림(관객) 예 - 고칠 것: ⑦ 노브 · K2 를 끝에서 끝으로 돌려도 2.0초 그림이 같은 쉬기 자세 · knobs 둘째 줄 - 짚은 렌즈: 관객 6점 · 「K2 첫 칸과 끝 칸이 LED 하나도 다르지 않은 같은 장」 - 기대: pair-knobs 의 K2 에서 0 은 쉬기, 1 은 찌르기 뒤 회복 자세라 두 끝이 한눈에 다름(범위를 [0.5, 3] 에서 [0.5, 2.3] 으로) +- 바뀐 LED: 정지 0 · 10초 0 · 노브 5520 · 팔레트 17→17색 +- A/B: 장인 옛(「두 손 사이 자루가 검은 덩어리로 막히고 허리 외곽선과 겹선」, 「장대 밑과 망토·다리 사이에 갇힌 배경 칸」) · 플레이어 새 · 애니메이터 같음(정순 새, 역순 옛 「선 몸통에 가로 창을 붙인 섞인 장」) · 관객 새 +- 버린 판정: 없음 +- 「옛」인 렌즈(장인)가 있어 되돌림. 장인은 빠른 끝에 새로 보이는 찌르기 회복 셀의 픽셀 결을 짚음 +- 되돌림이 세 번(패스 4, 5, 6) 이어져 바퀴를 일찍 닫음 diff --git a/incoming/pattern-study/patterns/tollard.js b/incoming/pattern-study/patterns/tollard.js index 4182dd0d..f6a44a03 100644 --- a/incoming/pattern-study/patterns/tollard.js +++ b/incoming/pattern-study/patterns/tollard.js @@ -9,10 +9,10 @@ // Round: 91 // =============================== // @matrix 64x128 -// @knobs Action=0..2, Speed=0.5..2.3, Paint=0..1, Wall=0..1 +// @knobs Action=0..2, Speed=0.5..3, Paint=0..1, Wall=0..1 // // Knob 1: Action. 0 plays the thrust and the chop in turn, 1 only the thrust, 2 only the chop, each between rests. -// Knob 2: Speed. Half the knob is the speed: 2 plays the cells as timed, 0.5 at a quarter, 2.3 a little faster, so at 2 s the slow end is still resting and the fast end is already pulling back from the thrust. +// Knob 2: Speed. Half the knob is the speed: 2 plays the cells as timed, 0.5 at a quarter, 3 at one and a half. // Knob 3: Paint. Four hand-made palettes on the same pixels: blackened iron and blood red below 0.25, rusted iron and moss from 0.25, gilded plate and grape (the strong one) from 0.5, white silver and blue from 0.75. // Knob 4: Wall. The flat castle stone behind him: night blue below 0.25, crypt violet from 0.25, cistern teal from 0.5, grey from 0.75. @@ -818,7 +818,7 @@ export function update(dt, input, params) { if (params.key === undefined) setup(params); const k = input.knobValues || [0, 2, 0, 0.06]; params.mode = min(2, max(0, floor(k[0]))); - params.speed = min(2.3, max(0.5, k[1])) / 2; + params.speed = min(3, max(0.5, k[1])) / 2; params.paint = min(3, max(0, floor(k[2] * 4))); params.wall = min(3, max(0, floor(k[3] * 4))); params.t += min(dt || 0, 0.1) * params.speed; From 4cdf73689d2ab99e1467d219fc28ae3dca0ff5c9 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 03:26:33 +0000 Subject: [PATCH 14/17] =?UTF-8?q?Tollard=2091=ED=8C=90=20=EA=B7=B8?= =?UTF-8?q?=EB=A6=BC=EA=B3=BC=20README=20=EA=B3=B5=EB=93=A4=EC=9D=B4?= =?UTF-8?q?=EA=B8=B0=20=ED=91=9C=20=EC=A4=84=EC=9D=84=20=EB=8D=94=ED=95=9C?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/README.md | 1 + .../pattern-study/craft/tollard/look-91.png | Bin 0 -> 46354 bytes 2 files changed, 1 insertion(+) create mode 100644 incoming/pattern-study/craft/tollard/look-91.png diff --git a/incoming/pattern-study/README.md b/incoming/pattern-study/README.md index b39e2501..3ab8284f 100644 --- a/incoming/pattern-study/README.md +++ b/incoming/pattern-study/README.md @@ -18,6 +18,7 @@ | [Ferrow](patterns/ferrow.js) | 작품 1 | 무너진 성채의 문을 이백 년째 지키는 파수 로봇이 받침 위에 한 손은 허리에 얹고, 홈이 호박색으로 달아오른 대검을 어깨에 멘 채 숨 쉬다가, 6.8초마다 그 대검을 받침에 꽂아 불꽃을 튀기고 등으로 증기를 뿜어요. | | [Keelson](patterns/keelson.js) | 작품 1 | 궤도 조선소의 중장비 로봇이 받침 위에서 제 가슴통만 한 유압 건틀릿 주먹을 머리 옆으로 들고, 앞다리를 굽혀 버틴 채 유압으로 숨 쉬고 눈빛을 주먹 쪽으로 흘려요. | | [Rowel](patterns/rowel.js) | 작품 1 | 사막 철길을 백 년째 혼자 걷는 태엽 보안관 로봇이 받침 위에 한 손 엄지는 총 벨트에 걸고, 터키석 손잡이의 리볼버를 총구가 하늘로 가게 챙 넓은 모자 옆에 세워 든 채 숨 쉬고 눈 덮개를 깜빡여요. | +| [Tollard](patterns/tollard.js) | 작품 2 | 무너진 종탑 계단을 백 년째 지키는 저주받은 갑옷 기사가 종 모양 청동 투구 아래로 미늘창을 세워 들고 숨 쉬다가, 머리 위로 치켜든 창을 허리 높이로 길게 내지르고 다시 머리 뒤로 젖혀 앞 바닥을 내려찍어요. | ## 추려 보기 diff --git a/incoming/pattern-study/craft/tollard/look-91.png b/incoming/pattern-study/craft/tollard/look-91.png new file mode 100644 index 0000000000000000000000000000000000000000..8caa940843f3f11fc5a9a2a4c56d1007dd484b39 GIT binary patch literal 46354 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 J%PV&J{~vspP~ZRn literal 0 HcmV?d00001 From fdaba47b0f576ed7caff1e58844141ca572b545b Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 03:29:59 +0000 Subject: [PATCH 15/17] =?UTF-8?q?Tollard=2091=ED=8C=90=20=EB=B0=94?= =?UTF-8?q?=ED=80=B4=20=EB=81=9D=20=EA=B8=B0=EB=A1=9D=EC=9D=84=20=EC=A0=81?= =?UTF-8?q?=EB=8A=94=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/craft/tollard/log.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/incoming/pattern-study/craft/tollard/log.md b/incoming/pattern-study/craft/tollard/log.md index f840803c..5bdd693f 100644 --- a/incoming/pattern-study/craft/tollard/log.md +++ b/incoming/pattern-study/craft/tollard/log.md @@ -70,3 +70,10 @@ - 버린 판정: 없음 - 「옛」인 렌즈(장인)가 있어 되돌림. 장인은 빠른 끝에 새로 보이는 찌르기 회복 셀의 픽셀 결을 짚음 - 되돌림이 세 번(패스 4, 5, 6) 이어져 바퀴를 일찍 닫음 + +## 바퀴 끝 +- 두 번 채점: 장인 6,6 · 플레이어 8,7 · 애니메이터 5,7 · 관객 6,6 · 블라인드 읽기 2/3, 3/3. 패스 4~6 이 다 되돌려져 지금 판이 비평 2 를 받은 판(커밋 549dc97)과 같아서, 비평 2 를 첫 채점으로 셈하고 새 판정단에게 한 번 더 받음 +- 장거리 A/B: 길 a 의 첫 바퀴라 건너뜀 +- 닮은꼴: 악마성의 도끼 갑옷 기사 「조금」(비평 2) · 뾰족 투구의 참회하는 기사 「조금」 · 금빛 투구의 장창 기사 「조금」 +- 걸린 멈춤: 되돌림 세 번 이어짐(패스 4 ②, 5 ④, 6 ⑦) → 바퀴를 일찍 닫음. 막힌 층 가운데 가장 앞이 ② 라 다음 바퀴는 ① 부터 봄 +- 창작자에게: 작품 2 의 첫 캐릭터예요. 종 투구의 갑옷 기사가 2.0초에 미늘창을 허리 높이로 내지르고 4.0초에 머리 뒤에서 앞 바닥을 내려찍어요. 판정단이 아직 성격의 「냉혹함」은 잘 못 읽고, 찌르기 자세의 창날이 패널 끝에 걸려 봇짐처럼 보인다고 해요. From 94945bd99e4c3fffd184201fc867000b44ce047a Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 04:37:56 +0000 Subject: [PATCH 16/17] =?UTF-8?q?=EC=97=B0=EA=B5=AC=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20index.html=20=EC=9D=84=20=EB=8B=A4=EC=8B=9C=20?= =?UTF-8?q?=EC=A7=80=EC=96=B4=20Tollard=20=EB=A5=BC=20=EC=8B=A3=EB=8A=94?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01Gdqi6NiqJZVWhefajGJHsV --- incoming/pattern-study/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/incoming/pattern-study/index.html b/incoming/pattern-study/index.html index dfb7da84..30024bf8 100644 --- a/incoming/pattern-study/index.html +++ b/incoming/pattern-study/index.html @@ -210,8 +210,8 @@

패턴 연구

- - + + - + +