From 7e734497c1687d1ed5fc86eac2f7efa8e0591e96 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 01:56:27 +0000 Subject: [PATCH 01/10] =?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=2092=ED=8C=90=20?= =?UTF-8?q?=ED=95=9C=20=EB=B0=94=ED=80=B4?= 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_01Gdqi6R6CVYddXixJJvXkqP From 86c97ef83a86bb9e89b2811ee2d5a2174283f8e0 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:08:49 +0000 Subject: [PATCH 02/10] =?UTF-8?q?Ardith=20=EC=B9=B4=EB=93=9C=EC=99=80=20?= =?UTF-8?q?=EC=8B=A4=EB=A3=A8=EC=97=A3=20=EB=84=A4=20=EC=95=88=EC=9D=84=20?= =?UTF-8?q?=EB=91=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_01Gdqi6R6CVYddXixJJvXkqP --- incoming/pattern-study/craft/ardith/brief.md | 40 ++++++++++++++++++ .../craft/ardith/silhouettes-92.png | Bin 0 -> 7086 bytes 2 files changed, 40 insertions(+) create mode 100644 incoming/pattern-study/craft/ardith/brief.md create mode 100644 incoming/pattern-study/craft/ardith/silhouettes-92.png diff --git a/incoming/pattern-study/craft/ardith/brief.md b/incoming/pattern-study/craft/ardith/brief.md new file mode 100644 index 00000000..4334ae89 --- /dev/null +++ b/incoming/pattern-study/craft/ardith/brief.md @@ -0,0 +1,40 @@ +slug: ardith +작품: 2 + +# Ardith + +무덤에서 기어 나오는 것을 아버지가 남긴 날개 달린 멧돼지 창으로 다시 눕히는 마을 묘지기 처녀예요. 성 아랫마을 공동묘지를 혼자 지키다 성 안까지 올라온 주인공이에요. + +11월 2일 92판(PR #358)에 작품 2 의 첫 캐릭터로 시작했어요. 작품 2 의 캐릭터 폴더가 아직 없어서 「자리 고르기」 4번대로 새 캐릭터예요. + +- 역할: 주인공 +- 성격: 고집, 경계 +- 무기와 공격: 날개 달린 멧돼지 창이에요. 잎 꼴 창날 밑에 가로 돌기 둘이 있어 찔린 것이 자루를 타고 올라오지 못해요. 두 손으로 쥐고 앞(기본은 오른쪽)으로 수평으로 찔러요. +- 시그니처 동작: 돌진 찌르기예요. 뒷다리를 쭉 뻗고 골반을 낮추며 창을 수평으로 내뻗어, 창끝에서 뒤로 날린 망토 자락과 뒷발까지 사선 하나가 이어져요. 창날은 패널 앞 끝에 닿아요. +- 둘째 동작: 받쳐 꿇기예요. 한 무릎을 꿇고 창 자루 끝을 뒤쪽 땅에 박아 창끝을 앞 위로 세워, 덤벼드는 것을 창날로 받는 자세예요. 멧돼지 창을 원래 그렇게 써요. +- 재질과 램프: 이끼 녹색 양모 망토와 두건 3단, 피부 3단, 가죽(조끼, 장갑, 장화, 허리띠, 창 자루, 두건 밑 앞머리) 3단, 쇠(창날과 날개) 3단, 놋쇠(창 목 고리, 망토 걸쇠, 버클) 2단. 외곽선과 안쪽 선은 순검정이에요. +- 주색과 강조색: 이끼 녹색, 놋쇠. 녹색은 밝은 단으로 갈수록 노랑 쪽으로, 가죽도 노랑 쪽으로, 피부 그늘은 장미 쪽으로 옮겨요. 채도는 망토와 놋쇠에 몰고 가죽과 쇠는 누르스름한 회색과 푸른 회색에 가까워요. +- 시대 결: GBA 에 가까운 16비트예요. +- 외곽선: 나. 어두운 배경 한 색 위에 순검정 외곽선을 둘러요. +- 비례: 6등신이에요. 쉬기 키는 두건 꼭대기에서 발바닥까지 57, 머리는 9예요. +- 광원: 앞 위(기본 방향이면 오른쪽 위)예요. 얼굴과 창날이 밝고, 등 뒤로 늘어진 망토가 큰 그늘 덩어리예요. + +노브 넷과 버튼이에요. + +- K1 동작: 0 은 쉬기 사이에 돌진 찌르기와 받쳐 꿇기를 차례로, 1 은 돌진 찌르기만, 2 는 받쳐 꿇기만 되풀이해요. +- K2 빠르기: 0.5 에서 3, 2 가 그린 그대로예요. +- K3 방향: 0.5 아래는 오른쪽을 보고, 0.5 부터는 좌우로 뒤집혀 왼쪽을 봐요. +- K4 배경: 0 짙은 청회색 돌, 1/4 자두빛 돌, 1/2 청록 돌, 3/4 무채색 돌. +- 버튼: 없어요. + +닮으면 안 되는 캐릭터 셋과, 각각과 다른 점 둘이에요. + +- 악마성 시리즈 셋째 작품의 두건 쓴 푸른 로브 마법사 소녀: 주문을 쏘지 않고 창을 쥐고 몸을 던져 찔러요. 발목까지 오는 푸른 로브가 아니라 무릎 아래에서 끊긴 이끼 녹색 망토에 가죽 조끼와 장화를 입어요. +- 초록 옷에 고깔모자를 쓴 요정 숲의 검사: 검과 방패가 아니라 두 손으로 쥐는 창이에요. 고깔모자가 아니라 얼굴을 감싸는 두건이고, 칠의 무게가 어두운 쪽에 있어요. +- 창을 든 용기사: 투구와 판금 갑옷 없이 천과 가죽만 입어요. 높이 뛰어 내려찍지 않고 땅을 딛고 앞으로 돌진해요. + +## 형제 캐릭터 + +README 「공들이기」 표에는 아직 작품 2 캐릭터가 없어요. + +- Tollard(91판, 무너진 종탑을 지키는 종 모양 청동 투구의 저주받은 갑옷 기사): 정체(저주받은 기사와 마을 묘지기), 역할(적과 주인공), 실루엣(종 모양 투구를 쓴 갑옷 덩어리와 두건 망토의 가는 몸), 주색(청동과 이끼 녹색)이 달라요. 무기는 둘 다 긴 자루 창이고 둘 다 수평으로 찔러요. diff --git a/incoming/pattern-study/craft/ardith/silhouettes-92.png b/incoming/pattern-study/craft/ardith/silhouettes-92.png new file mode 100644 index 0000000000000000000000000000000000000000..779402d1a70a36af7935f6430a157e7757dbf851 GIT binary patch literal 7086 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 Date: Mon, 2 Nov 2026 02:19:07 +0000 Subject: [PATCH 03/10] =?UTF-8?q?Ardith=20=EC=B2=AB=20=ED=8C=90:=20?= =?UTF-8?q?=EC=89=AC=EA=B8=B0,=20=EB=8F=8C=EC=A7=84=20=EC=B0=8C=EB=A5=B4?= =?UTF-8?q?=EA=B8=B0,=20=EA=BD=82=EC=95=84=20=EB=88=84=EB=A5=B4=EA=B8=B0?= =?UTF-8?q?=20=EC=97=B4=EC=84=B8=20=EC=85=80=EC=9D=B4=20=EC=84=A0=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_01Gdqi6R6CVYddXixJJvXkqP --- incoming/pattern-study/README.md | 1 + incoming/pattern-study/craft/ardith/brief.md | 4 +- incoming/pattern-study/craft/ardith/log.md | 9 + incoming/pattern-study/patterns/ardith.js | 879 +++++++++++++++++++ 4 files changed, 891 insertions(+), 2 deletions(-) create mode 100644 incoming/pattern-study/craft/ardith/log.md create mode 100644 incoming/pattern-study/patterns/ardith.js diff --git a/incoming/pattern-study/README.md b/incoming/pattern-study/README.md index b39e2501..1016236a 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 | 사막 철길을 백 년째 혼자 걷는 태엽 보안관 로봇이 받침 위에 한 손 엄지는 총 벨트에 걸고, 터키석 손잡이의 리볼버를 총구가 하늘로 가게 챙 넓은 모자 옆에 세워 든 채 숨 쉬고 눈 덮개를 깜빡여요. | +| [Ardith](patterns/ardith.js) | 작품 2 | 마을 묘지기 처녀가 이끼 녹색 두건 망토 차림으로 날개 달린 멧돼지 창을 세워 들고 숨 쉬다가, 창을 수평으로 내뻗어 돌진해 찌르고, 한 박 쉰 뒤 창을 머리 위로 들어 앞 땅에 꽂아 눌러요. | ## 추려 보기 diff --git a/incoming/pattern-study/craft/ardith/brief.md b/incoming/pattern-study/craft/ardith/brief.md index 4334ae89..90fc9c1a 100644 --- a/incoming/pattern-study/craft/ardith/brief.md +++ b/incoming/pattern-study/craft/ardith/brief.md @@ -11,7 +11,7 @@ slug: ardith - 성격: 고집, 경계 - 무기와 공격: 날개 달린 멧돼지 창이에요. 잎 꼴 창날 밑에 가로 돌기 둘이 있어 찔린 것이 자루를 타고 올라오지 못해요. 두 손으로 쥐고 앞(기본은 오른쪽)으로 수평으로 찔러요. - 시그니처 동작: 돌진 찌르기예요. 뒷다리를 쭉 뻗고 골반을 낮추며 창을 수평으로 내뻗어, 창끝에서 뒤로 날린 망토 자락과 뒷발까지 사선 하나가 이어져요. 창날은 패널 앞 끝에 닿아요. -- 둘째 동작: 받쳐 꿇기예요. 한 무릎을 꿇고 창 자루 끝을 뒤쪽 땅에 박아 창끝을 앞 위로 세워, 덤벼드는 것을 창날로 받는 자세예요. 멧돼지 창을 원래 그렇게 써요. +- 둘째 동작: 꽂아 누르기예요. 두 손으로 창을 머리 위로 치켜들었다가 앞으로 한 걸음 내디디며 몸을 낮춰, 무덤에서 기어 나오는 것을 창끝으로 앞 땅에 꽂아 눌러요. 창이 왼쪽 위에서 오른쪽 아래로 사선 하나를 그어요. - 재질과 램프: 이끼 녹색 양모 망토와 두건 3단, 피부 3단, 가죽(조끼, 장갑, 장화, 허리띠, 창 자루, 두건 밑 앞머리) 3단, 쇠(창날과 날개) 3단, 놋쇠(창 목 고리, 망토 걸쇠, 버클) 2단. 외곽선과 안쪽 선은 순검정이에요. - 주색과 강조색: 이끼 녹색, 놋쇠. 녹색은 밝은 단으로 갈수록 노랑 쪽으로, 가죽도 노랑 쪽으로, 피부 그늘은 장미 쪽으로 옮겨요. 채도는 망토와 놋쇠에 몰고 가죽과 쇠는 누르스름한 회색과 푸른 회색에 가까워요. - 시대 결: GBA 에 가까운 16비트예요. @@ -21,7 +21,7 @@ slug: ardith 노브 넷과 버튼이에요. -- K1 동작: 0 은 쉬기 사이에 돌진 찌르기와 받쳐 꿇기를 차례로, 1 은 돌진 찌르기만, 2 는 받쳐 꿇기만 되풀이해요. +- K1 동작: 0 은 쉬기 사이에 돌진 찌르기와 꽂아 누르기를 차례로, 1 은 돌진 찌르기만, 2 는 꽂아 누르기만 되풀이해요. - K2 빠르기: 0.5 에서 3, 2 가 그린 그대로예요. - K3 방향: 0.5 아래는 오른쪽을 보고, 0.5 부터는 좌우로 뒤집혀 왼쪽을 봐요. - K4 배경: 0 짙은 청회색 돌, 1/4 자두빛 돌, 1/2 청록 돌, 3/4 무채색 돌. diff --git a/incoming/pattern-study/craft/ardith/log.md b/incoming/pattern-study/craft/ardith/log.md new file mode 100644 index 00000000..3565c085 --- /dev/null +++ b/incoming/pattern-study/craft/ardith/log.md @@ -0,0 +1,9 @@ +상태: a 깎는 중 + +## 92판 (바퀴 90) · 길 a · 시작 86c97ef +- 정지 프레임 t=2 · 노브 [0, 2, 0, 0.06] +- 리그(첫 바퀴만): 안 1 3승 · 안 4 2승 · 안 2 1승 · 안 3 0승 → 길 a 안 1, 길 b 안 4 +- 안 1~4: 긴 두건 망토에 두 손 돌진 찌르기, 짧은 망토에 등불과 한 손 위로 찌르기, 긴 목도리에 높은 자세와 한 손 펜싱 찌르기, 종 모양 긴 코트에 창을 어깨에 메고 돌며 쓸어 찌르기 +- 리그 판정 말: 안 1 「망토 덩어리와 긴 창이 있어 역할이 읽힘」 · 안 4 「종 모양 치마가 고유한 실루엣」 · 안 2 「망토 덩어리가 머리와 다리 사이 위계」 · 안 3 「팔다리가 가는 막대」 +- 카드 고침: 둘째 동작을 받쳐 꿇기에서 꽂아 누르기로 바꿈. 꿇은 자세의 예비에서 창이 머리를 가로질러 예비와 타격이 깨끗이 안 갈렸음 +- 선 판: 셀 13 · 14색(배경 포함) · 쉬기 키 58(두건 꼭대기 y 6~발바닥 y 63, 외곽선 포함) · 머리 9 · 6.4등신 · 어두운 칠(L* 35 아래) 49~56% · 노브 K1 0.03 · K2 0.10 · K3 0.12 · K4 0.03 · 한 프레임 깜빡임 0 diff --git a/incoming/pattern-study/patterns/ardith.js b/incoming/pattern-study/patterns/ardith.js new file mode 100644 index 00000000..60852085 --- /dev/null +++ b/incoming/pattern-study/patterns/ardith.js @@ -0,0 +1,879 @@ +// ===== Patternflow pattern ===== +// Title: Ardith +// Family: pixel +// Idea: A side-on game sprite of Ardith, a village gravekeeper who puts back down whatever climbs out of the graves with her late father's winged boar spear. Moss-green hood and cloak, a leather jerkin, dark wool breeches and tall boots, drawn as 32 by 64 art pixels at two LEDs each on a dark flat backdrop, every shape ringed in black. She breathes while her cloak hem stirs, then lunges with the spear level (the still at two seconds is the thrust), and after a beat lifts it overhead and drives the point down into the ground ahead of her. +// Author: patternflow-lab +// Date: 2026-11-02 +// SPDX-License-Identifier: CC-BY-SA-4.0 +// Lineage: original, pattern round 92 +// Round: 92 +// =============================== +// @matrix 64x128 +// @knobs Action=0..2, Speed=0.5..3, Facing=0..1, Backdrop=0..1 +// +// Knob 1: Action. Below 1 she rests, lunges, rests and pins in turn; from 1 she only lunges; at 2 she only pins. +// Knob 2: Speed. Half the knob is the playback speed: 2 is the drawn timing, 0.5 a quarter of it, 3 one and a half times. +// Knob 3: Facing. Below 0.5 she faces right; from 0.5 the same cells are mirrored and she faces left. +// Knob 4: Backdrop. The flat stone behind her: slate below 0.25, plum from 0.25, teal from 0.5, ash grey from 0.75. + +const W = 64, H = 128; +// Each cell is a grid of art pixels, one character per pixel and "." where +// the backdrop shows, placed at x, y on the 32 by 64 art grid and drawn as a +// 2 by 2 block of LEDs. Materials run light to dark: wool A B C, skin s t u, +// leather l m n, steel x y z, brass b c. k is the black outline and inner +// line, w the specular. +const PAL = { A: 0x729848, B: 0x3a6a46, C: 0x2a4c48, s: 0xf0c4a0, t: 0xc68070, u: 0x824a5c, l: 0xa67c4e, m: 0x805842, n: 0x5a4246, x: 0xc4ccd4, y: 0x808898, z: 0x484a60, b: 0xd8b058, c: 0x8c6232, w: 0xf4f4ec, k: 0x000000 }; +const BACKDROPS = [0x24263a, 0x34243c, 0x1e3236, 0x303034]; +const CELLS = { + I0: { x: 4, y: 6, rows: [ + "...........kkkk............", + "..........kAAAAk.......k...", + ".........kBAAAAAk.....kxk..", + "........kBBAAAuuuk....kxk..", + "........kBBAAunnnnk..kzxk..", + "........kBBBAussssk..kzxyk.", + "........kBBBusssssk..kzxyk.", + "........kCBButsssk..kzzxyk.", + "........kCBButssssk.kzzxyk.", + ".......kBCCBButsssk..kzxk..", + "......kCBBCCButttk....kxk..", + ".....kCCBBBCCCttk...kkkbkk.", + ".....kCCBBBBkkkkk..kyyyyyyk", + ".....kCCnnnnmllllk..kkkbkk.", + "....kCCCnmmmmlCCCAk...klk..", + "....kCCCnmmmmlCBAAk...klk..", + "....kCCCnmmmmlCBAAk...klk..", + "....kCCCnmmmmllCBAAk.klk...", + "...kCCCCnmmmmllCBAAk.klk...", + "...kCCCCnmmmmlllCAAk.klk...", + "...kCCCCnmmmmlllCBAAkklk...", + "...kCCCBnmmmmlllCBAAkklk...", + "...kCCCBnmmmmllllCAAkklk...", + "...kCCBCnmmmmllllCBAAklk...", + "...kCCBCnmmmmllllkBAAklk...", + "..kCCCBCnmmmmllllkBllllk...", + "..kCCCBCnnnnnnnbnnknlllk...", + "..kCCCBBnmmmmllllkknlllk...", + "..kCCCBBnmmmmkkklk.knnlk...", + "..kCCCBBnnnnkCBBk...kklk...", + "..kCCCBBkCCCkCBBBk...klk...", + "..kCCCBBkCCCkCCBBk...klk...", + ".kCCCBBBkCCCkCCBBBk..klk...", + ".kCCCBBBkCCCkCCBBBk..klk...", + ".kCCCBBBkCCCkCCBBBk..klk...", + ".kCCCBBBkCCCCkCCBBk..klk...", + ".kCCCBBkCCCCCkCCBBk..klk...", + ".kCCCBBkCCCCkCCCBBk..klk...", + ".kCCCBBkCCCCkCCCBBk..klk...", + ".kCCCBBkCCCCkCCCBBk..klk...", + "kCCCBBBkCCCCkkCCBBBk.klk...", + "kCCCBBBkCCCCkkCCBBBk.klk...", + "kCCCBBBkCCCCkkCCCBBk.klk...", + "kCCCBBBkCCCCkkCCCBBk.klk...", + "kCCCBBBkmllCkkCmlllk.klk...", + "kCCCBBBkmllk.knmlllk.klk...", + "kCCBBBBkmmmk.knmmllk.klk...", + "kCCBBBBkmmmk..kmmllk.klk...", + "kCCBBBkmmmmk..kmmllk.klk...", + "kCBBkknmmmmk..knmllk.klk...", + ".kkk.knmmmmk..knmllk.klk...", + ".....knmmmk...knmllk.klk...", + ".....knmlmk...knmllk.klk...", + ".....knmlllk...kmlllkklk...", + ".....knnmmllk..kmllllllk...", + "......knnnllk...kmmmlllk...", + ".......kknnlk....kkmmmlk...", + ".........kkk.......kkkk....", + ] }, + I1: { x: 4, y: 5, rows: [ + "...........kkkk............", + "..........kAAAAk.......k...", + ".........kBAAAAAk.....kxk..", + "........kBBAAAuuuk....kxk..", + "........kBBAAunnnnk..kzxk..", + "........kBBBAussssk..kzxyk.", + "........kBBBusssssk..kzxyk.", + "........kCBButsssk..kzzxyk.", + "........kCBButssssk.kzzxyk.", + "........kCCBButsssk..kzxk..", + ".......kBkCCButttk....kxk..", + "......kCBBkCCCttk...kkkbkk.", + ".....kCCBBBkkkkkk..kyyyyyyk", + ".....kCCnnnmmllllk..kkkbkk.", + ".....kCCnmmmmlCCCAk...klk..", + "....kCCCnmmmmlCBAAk...klk..", + "....kCCCnmmmmlCBAAk...klk..", + "....kCCCnmmmmllCBAAk.klk...", + "....kCCCnmmmmllCBAAk.klk...", + "...kCCCCnmmmmlllCAAk.klk...", + "...kCCCCnmmmmlllCBAAkklk...", + "...kCCCBnmmmmlllCBAAkklk...", + "...kCCCBnmmmmllllCAAkklk...", + "...kCCBCnmmmmllllCBAAklk...", + "...kCCBCnmmmmllllkBAAklk...", + "...kCCBCnmmmmllllkBllllk...", + "..kCCCBCnnnnnnnbnnknlllk...", + "..kCCCBBnmmmmllllkknlllk...", + "..kCCCBBnmmmmllllk.knnlk...", + "..kCCCBBnnnnmkkklk..kklk...", + "..kCCCBBkCCCkCBBk....klk...", + "..kCCCBBkCCCkCBBBk...klk...", + "..kCCCBBkCCCkCCBBk...klk...", + ".kCCCBBBkCCCkCCBBBk..klk...", + ".kCCCBBBkCCCkCCBBBk..klk...", + ".kCCCBBBkCCCkCCBBBk..klk...", + ".kCCCBBBkCCCCkCCBBk..klk...", + ".kCCCBBkCCCCCkCCBBk..klk...", + ".kCCCBBkCCCCkCCCBBk..klk...", + ".kCCCBBkCCCCkCCCBBk..klk...", + ".kCCCBBkCCCCkCCCBBk..klk...", + "kCCCBBBkCCCCkkCCBBBk.klk...", + "kCCCBBBkCCCCkkCCBBBk.klk...", + "kCCCBBBkCCCCkkCCCBBk.klk...", + "kCCCBBBkCCCCkkCCCBBk.klk...", + "kCCCBBBkmllCkkCmlllk.klk...", + "kCCCBBBkmllk.knmlllk.klk...", + "kCCBBBBkmmmk.knmmllk.klk...", + "kCCBBBBkmmmk..kmmllk.klk...", + "kCCBBBkmmmmk..kmmllk.klk...", + "kCBBkknmmmmk..knmllk.klk...", + ".kkk.knmmmmk..knmllk.klk...", + ".....knmmmk...knmllk.klk...", + ".....knmlmk...knmllk.klk...", + ".....knmlllk...kmlllkklk...", + ".....knnmmllk..kmllllllk...", + "......knnnllk...kmmmlllk...", + ".......kknnlk....kkmmmk....", + ".........kkk.......kkk.....", + ] }, + I2: { x: 3, y: 5, rows: [ + "............kkkk............", + "...........kAAAAk.......k...", + "..........kBAAAAAk.....kxk..", + ".........kBBAAAuuuk....kxk..", + ".........kBBAAunnnnk..kzxk..", + ".........kBBBAussssk..kzxyk.", + ".........kBBBusssssk..kzxyk.", + ".........kCBButsssk..kzzxyk.", + ".........kCBButssssk.kzzxyk.", + ".........kCCBButsssk..kzxk..", + "........kBkCCButttk....kxk..", + ".......kCBBkCCCttk...kkkbkk.", + "......kCCBBBkkkkkk..kyyyyyyk", + "......kCCnnnmmllllk..kkkbkk.", + "......kCCnmmmmlCCCAk...klk..", + ".....kCCCnmmmmlCBAAk...klk..", + ".....kCCCnmmmmlCBAAk...klk..", + ".....kCCCnmmmmllCBAAk.klk...", + ".....kCCCnmmmmllCBAAk.klk...", + "....kCCCCnmmmmlllCAAk.klk...", + "....kCCCCnmmmmlllCBAAkklk...", + "....kCCCBnmmmmlllCBAAkklk...", + "....kCCCBnmmmmllllCAAkklk...", + "....kCCBCnmmmmllllCBAAklk...", + "....kCCBCnmmmmllllkBAAklk...", + "....kCCBCnmmmmllllkBllllk...", + "...kCCCBCnnnnnnnbnnknlllk...", + "...kCCCBBnmmmmllllkknlllk...", + "...kCCCBBnmmmmllllk.knnlk...", + "...kCCCBBnnnnmkkklk..kklk...", + "...kCCCBBkCCCkCBBk....klk...", + "...kCCCBBkCCCkCBBBk...klk...", + "..kCCCBBBkCCCkCCBBk...klk...", + "..kCCCBBBkCCCkCCBBBk..klk...", + "..kCCCBBBkCCCkCCBBBk..klk...", + "..kCCCBBBkCCCkCCBBBk..klk...", + "..kCCCBBBkCCCCkCCBBk..klk...", + "..kCCCBBkCCCCCkCCBBk..klk...", + ".kCCCBBBkCCCCkCCCBBk..klk...", + ".kCCCBBBkCCCCkCCCBBk..klk...", + ".kCCCBBBkCCCCkCCCBBk..klk...", + ".kCCCBBBkCCCCkkCCBBBk.klk...", + ".kCCCBBBkCCCCkkCCBBBk.klk...", + ".kCCCBBBkCCCCkkCCCBBk.klk...", + ".kCCCBBBkCCCCkkCCCBBk.klk...", + ".kCCBBBBkmllCkkCmlllk.klk...", + "kCCCBBBBkmllk.knmlllk.klk...", + "kCCCBBBBkmmmk.knmmllk.klk...", + "kCCBBBBkmmmmk..kmmllk.klk...", + "kCCBBBBkmmmmk..kmmllk.klk...", + "kCBBkkknmmmmk..knmllk.klk...", + ".kkk..knmmmmk..knmllk.klk...", + "......knmmmk...knmllk.klk...", + "......knmlmk...knmllk.klk...", + "......knmlllk...kmlllkklk...", + "......knnmmllk..kmllllllk...", + ".......knnnllk...kmmmlllk...", + "........kknnlk....kkmmmk....", + "..........kkk.......kkk.....", + ] }, + I3: { x: 3, y: 6, rows: [ + "............kkkk............", + "...........kAAAAk.......k...", + "..........kBAAAAAk.....kxk..", + ".........kBBAAAuuuk....kxk..", + ".........kBBAAunnnnk..kzxk..", + ".........kBBBAussssk..kzxyk.", + ".........kBBBusssssk..kzxyk.", + ".........kCBButsssk..kzzxyk.", + ".........kCBButssssk.kzzxyk.", + "........kBCCBButsssk..kzxk..", + ".......kCBBCCButttk....kxk..", + "......kCCBBBCCCttk...kkkbkk.", + "......kCCBBBBkkkkk..kyyyyyyk", + "......kCCnnnnmllllk..kkkbkk.", + ".....kCCCnmmmmlCCCAk...klk..", + ".....kCCCnmmmmlCBAAk...klk..", + ".....kCCCnmmmmlCBAAk...klk..", + ".....kCCCnmmmmllCBAAk.klk...", + "....kCCCCnmmmmllCBAAk.klk...", + "....kCCCCnmmmmlllCAAk.klk...", + "....kCCCCnmmmmlllCBAAkklk...", + "....kCCCBnmmmmlllCBAAkklk...", + "....kCCCBnmmmmllllCAAkklk...", + "....kCCBCnmmmmllllCBAAklk...", + "....kCCBCnmmmmllllkBAAklk...", + "...kCCCBCnmmmmllllkBllllk...", + "...kCCCBCnnnnnnnbnnknlllk...", + "...kCCCBBnmmmmllllkknlllk...", + "...kCCCBBnmmmmkkklk.knnlk...", + "...kCCCBBnnnnkCBBk...kklk...", + "...kCCCBBkCCCkCBBBk...klk...", + "..kCCCBBBkCCCkCCBBk...klk...", + "..kCCCBBBkCCCkCCBBBk..klk...", + "..kCCCBBBkCCCkCCBBBk..klk...", + "..kCCCBBBkCCCkCCBBBk..klk...", + "..kCCCBBBkCCCCkCCBBk..klk...", + "..kCCCBBkCCCCCkCCBBk..klk...", + ".kCCCBBBkCCCCkCCCBBk..klk...", + ".kCCCBBBkCCCCkCCCBBk..klk...", + ".kCCCBBBkCCCCkCCCBBk..klk...", + ".kCCCBBBkCCCCkkCCBBBk.klk...", + ".kCCCBBBkCCCCkkCCBBBk.klk...", + ".kCCCBBBkCCCCkkCCCBBk.klk...", + ".kCCCBBBkCCCCkkCCCBBk.klk...", + ".kCCBBBBkmllCkkCmlllk.klk...", + "kCCCBBBBkmllk.knmlllk.klk...", + "kCCCBBBBkmmmk.knmmllk.klk...", + "kCCBBBBkmmmmk..kmmllk.klk...", + "kCCBBBBkmmmmk..kmmllk.klk...", + "kCBBkkknmmmmk..knmllk.klk...", + ".kkk..knmmmmk..knmllk.klk...", + "......knmmmk...knmllk.klk...", + "......knmlmk...knmllk.klk...", + "......knmlllk...kmlllkklk...", + "......knnmmllk..kmllllllk...", + ".......knnnllk...kmmmlllk...", + "........kknnlk....kkmmmlk...", + "..........kkk.......kkkk....", + ] }, + LA1: { x: 0, y: 7, rows: [ + "..............kkk..............", + "............kkAAAkk............", + "...........kBAAAAAAk...........", + "...........kBAAAAuuk...........", + "..........kBBAAAnnnnk..........", + "..........kBBBAussssk..........", + "..........kCBBBussssk..........", + "..........kCBBBusssk...........", + "..........kCCBButsssk..........", + ".........kBkCBButtssk..........", + "........kCBBCCCuttttk..........", + ".......kCCBBBCCCtttk...........", + ".......kCCBBBBkkkkk............", + ".......kCCnnnnmllllk...........", + "......kCCCnmmmmlCCCAk..........", + "......kCCCnmmmmlCBAAk..........", + "......kCCCnmmmmlCBAAk..........", + ".....kCCCCnmmmmlCBAAk..........", + ".....kCCCCnmmmmllCAAk..........", + ".....kCCCBnmmmmllCAAk..........", + ".....kCCCBnmmmmllCAAAk.........", + ".....kCCCBnmmmmllCAAAk.........", + ".....kCCBBnmmmmllCBAAk.........", + ".....kCCCBnmmmmllCBAAkkkkkk.kk.", + "....kCCCCBnmmmmllCBAkkyyyyykxxk", + "....kCCCCBnmmmmllClAkyyxxxxxxk.", + "....kCCCBCnnnnnnnnlnxxxxzzkkk..", + "....kCCCBCnmmllllnnnkkzzzk.....", + "...kkCCCllllllkkBBByk.kkk......", + "kkkllllllBnnnnkCBBByk..........", + "llllkCCCBBkCCCkCBBBk...........", + "kkkkCCCBBBkCCCkCCBBBk..........", + "...kCCCBBkCCCCkCCBBBk..........", + "...kCCCBBkCCCCCkCCBBk..........", + "...kCCCBBkCCCCCkCCBBBk.........", + "...kCCCBBkCCCCkkCCCBBk.........", + "...kCCCBBkCCCCkkCCCBBBk........", + "...kCCCBBkCCCCk.kCCCBBk........", + "...kCCCBBkCCCCk.kCCCBBk........", + "..kCCCBBBkCCCk..kCCCBBBk.......", + "..kCCCBBkCCCCk...kCCCBBk.......", + "..kCCCBBkCCCCk...kCCCBBk.......", + "..kCCCBBkCCCCk....kCCBBBk......", + "..kCCCBBkmllCk....kCmlllk......", + "..kCCBBBkmllCk....knmlllk......", + "..kCCBBBkmmllk....knmmllk......", + "..kCCBBBkmmlk......kmmllk......", + "..kCCBBBkmmlk......knmlllk.....", + "...kkkkknmmlk......knmlllk.....", + ".......knmmmk.......kmmllk.....", + ".......knmmmk.......knmllk.....", + ".......kmllmk.......knmllk.....", + ".......kmmllkk......knmlllkk...", + ".......kmmmlllk......kmlllllk..", + "........knnmmlk.......kmmmllk..", + ".........kknnlk........kkmmmk..", + "...........kkk...........kkk...", + ] }, + LA2: { x: 0, y: 9, rows: [ + "...........kkkkkk............", + "..........kAAAAAAk...........", + ".........kBAAAAAAk...........", + ".........kBBAAuuuuk..........", + "........kCBBAunnnnk..........", + "........kCBBAussssk..........", + "........kCBBBusssssk.........", + "........kCCBButssksk.........", + "........kkCBButsssk..........", + ".......kBBCCButtssk..........", + "......kCBBBCCCtttk...........", + "......kCBBBkkkkkk............", + ".....kCCBBBBkkkkkk...........", + ".....kCCBnnnmmlCAAk..........", + ".....kCCCnmmmmlCAAk..........", + ".....kCCnmmmmllCAAk..........", + "....kCCCnmmmmllCAAk..........", + "....kCCCnmmmmmCBAClk.........", + "....kCCCnmmmmmCBAClk.........", + "....kCCCnmmmmmCBAClk.........", + "....kCCAnmmmmmCAAAk..........", + "....kCBAAnmmmmCBAAk..........", + "....kCBBAnmmmmCBAAk.kkkkkkkk.", + "...kCCCBAnmmmlCBAk.kyyyyzxxxk", + "...kCCCBAnmmmlCAAkkyzxxxxkkk.", + "...kCCCBnnnnnnnlnbxxxzzzk....", + "...kCCCBnnmmmlnlnykkzzkk.....", + "...kCCCllnllllnnnyk.kk.......", + "..kkCCllllnnkkBBByk..........", + "kklllllnnCCCkCCBBBk..........", + "lllCCCBBkCCCkCCBBBk..........", + "kkkCCCBBkCCCkCCCBBBk.........", + "..kCCCBBkCCCCkCCBBBk.........", + "..kCCCBBkCCCCkCCCBBBk........", + "..kCCCBkCCCCCkCCCCBBk........", + "..kCCCBkCCCCk.kCCCBBBk.......", + "..kCCCBkCCCCk..kCCCBBk.......", + ".kCCCBBkCCCCk..kCCCBBBk......", + ".kCCCBBkCCCCk...kCCCBBk......", + ".kCCCBkCCCCk....kCCCBBBk.....", + ".kCCCBkCCCCk.....kCCCBBk.....", + ".kCCBBkCCCCk......kClllk.....", + ".kCCBBkmllCk......klllllk....", + ".kCCBBkmmllk......knmlllk....", + ".kCCBBkmmlmk......knmlllk....", + ".kCBBBkmmlmk......knmmllk....", + "..kkkknmmlk........kmmllk....", + ".....knmmlk........knmllk....", + ".....knmmlk........knmlllk...", + ".....knmllk.........kmlllk...", + ".....knmlllk........knmlllk..", + ".....knnmmllk.......knmmlllk.", + "......knnnllk........kkmmmlk.", + ".......kknnlk..........kkmlk.", + ".........kkk.............kk..", + ] }, + LH: { x: 0, y: 13, rows: [ + ".................kkkkk..........", + "................kAAAAAk.........", + "...............kBAAAAAAk........", + "...............kBAAAuuuuk.......", + "..............kBBBAusnnnk.......", + "..............kBBBAusssssk......", + "............kkkCBBBussssk.......", + "...........kCBkCBBBussssk.......", + "..........kCCBBCCBButsssk.......", + ".........kCCCBBBCCButtssk.......", + "........kCCCBBBBBCCutttk........", + ".......kCCCBBBBBBkCCClk.........", + "......kCCCCBBnnnnmllllk.........", + ".....kCCCCBBBnmmmmlCCCk.........", + "....kCCCCBBBnmmmmllCAAAk........", + "...kCCCCBBBBnmmmmmlCAAAk........", + "..kCCCCBBBBBnmmmmmllCBAAk.......", + ".kCCCCBBBBBBnmmmmmllCBAAk.......", + ".kCCCCBBBBBBnmmmmmllllAAAk......", + "kCCCCBBBBBBBnmmmmlllllCAAk......", + "CCCCBBBBBBBknmmmmlllllCAAAk.....", + "CCCCBBBBBBkknmmmmllllkyCAAkkkk..", + "CCCBBBBBkkkknmmmmllllkyCllnyyykk", + "lllllllllllllllllllllbyynlnxxxxx", + "CCBBBkkkkkknnnnnnnnblkkynnnzzzzk", + "CCkkk......knmmmmllllkkykkkzkkk.", + "kk.........knmmmmkkklk.k...k....", + "...........kCnnnkCBBkk..........", + "..........kCCCCCkCBBBBk.........", + "..........kCCCCCkCCBBBBk........", + ".........kCCCCCCkCCCBBBBk.......", + ".........kCCCCCCkCCCCBBBk.......", + ".........kCCCCCk.kCCCCBBBk......", + "........kCCCCCCk..kCCCCBBBk.....", + "........kCCCCCk....kCCCCBBBk....", + ".......kCCCCCCk.....kCCCCBBBk...", + ".......kCCBCCk.......kCCCCBBk...", + ".......kCCBBCk........kCCCBBk...", + "......kCCCCCk..........kmlllk...", + ".....kmmllCCk..........kmmlllk..", + ".....kmmlllk...........knmlllk..", + "....knmmmmmk...........knmlllk..", + "....knmmmmk............knmlllk..", + "....kmmmmmk............knmlllk..", + "...kmmmmmk.............knmlllk..", + "...kmlmmk...............kmlllk..", + "..knmllmk...............kmlllk..", + "..knmmllk...............kmllllk.", + "...kmmmllk...............kmmmllk", + "....knnmmk................kkmlk.", + ".....kkkk...................kk..", + ] }, + LR1: { x: 0, y: 10, rows: [ + "................kkkk............", + "...............kAAAAk...........", + "..............kBAAAAAk..........", + ".............kBBAAAuuuk.........", + ".............kBBAAAnnnk.........", + "............kCBBAusssssk........", + "............kCBBBusssssk........", + "...........kkCCBButsssk.........", + "..........kBkkCBButssssk........", + ".........kCBBBCCBButssk.........", + "........kCCBBBkCCButttk.........", + "........kCCBBBkkCCCttk..........", + ".......kCCCBBBBkkkkkk...........", + "......kCCCBBnnnmmlCAAk..........", + "......kCCCBBnmmmmlCAAk..........", + ".....kCCCBBnmmmmllCAAAk.........", + ".....kCCCBBnmmmmmlCBAAk.........", + "....kCCCBBBnmmmmmlCBAAk.........", + "....kCCCBBBnmmmmmllCAAAk........", + "...kCCCBBBBnmmmmlllCAAAk........", + "...kCCCBBBBnmmmmllllCAAk........", + "..kCCCBBBBBnmmmmllllCAAk........", + "..kCCCBBBBknmmmmllllCBAk........", + ".kCCCBBBBk.knmmmlllyCBAAkkk.....", + "kkCCCBBBBkkknmmmlllykllnyyykkkk.", + "llllllllllllllllllbybnlnxxxxxxxk", + "kCCBBBBkkkkknmmmlllyknnnzzzkkkk.", + "kCCBBBBk...knmmmkkkykkkkkkk.....", + "kCCBBBk...kCnnnkCBBBk...........", + "CCBBBk....kCCCCkCBBBk...........", + "CCBBBk...kCCCCCkCCBBBk..........", + "kCBBk....kCCCCCkCCCBBBk.........", + "kCBk.....kCCCCCCkCCBBBk.........", + ".kk......kCCCCCkkCCCBBBk........", + "........kCCCCCCkkCCCCBBk........", + "........kCCCCCk..kCCCBBBk.......", + "........kCCCCCk...kCCCBBk.......", + ".......kCCCCCCk...kCCCCBBk......", + ".......kCCCCCk.....kCCCBBBk.....", + ".......kCCCCCk......kCCCBBk.....", + ".......kCCCCk.......kCCllBk.....", + "......kmmllCk........kmlllk.....", + "......kmmllCk........kmmllk.....", + "......kmmmmk.........kmmllk.....", + ".....knmmmmk.........knmllk.....", + ".....knmmmmk.........knmlllk....", + ".....knmmmk..........knmlllk....", + ".....kmmmmk...........kmlllk....", + "....knmlmmk...........kmlllk....", + "....knmlllk...........kmllllk...", + "....knnmmllk..........kmmmlllk..", + ".....knnnllk...........knnmmlk..", + "......kknnlk............kknnlk..", + "........kkk...............kkk...", + ] }, + LR2: { x: 2, y: 7, rows: [ + ".............kkkkk............", + "............kAAAAAk..........k", + "...........kBAAAAAAk........kx", + "..........kBBAAAuuuk........kx", + "..........kBBAAunnnnk......kxx", + "..........kBBBAussssk.....kzxz", + "..........kCBBBussssk....kzzxy", + "..........kCBBBusssk.....kzxzy", + ".........kBCCBButsssk....kzxzy", + "........kCBBCCButtssk.....kxyk", + ".......kCCBBCCCutttk....kkxxk.", + ".......kCCBBBBCCCtk....kyyckk.", + ".......kCCBBBBkkkkk.....kkyyyk", + "......kCCCnnnnmllAAk....kbckk.", + "......kCCBnmmmmlCAAAk...klk...", + "......kCCBnmmmmlCAAAk...klk...", + "......kCCBnmmmmllCAAAk..klk...", + ".....kCCCBnmmmmllCAAAk.klk....", + ".....kCCCBnmmmmlllCAAAkklk....", + ".....kCCBBnmmmmlllCAAAkklk....", + ".....kCCBBnmmmmllllCAAklk.....", + ".....kCCBBnmmmmllllCBAklk.....", + "....kCCCBBnmmmmllllCBlllk.....", + "....kCCCBBnmmmmllllklllk......", + "....kCCCBBnmmmmllllklllk......", + "....kCCCBBnnnnnnnbnnkllk......", + "....kCCCBBnmmmmllllkklk.......", + "...kCCCBBBnmmmmkkklkklk.......", + "...kCCCBBBnmmmkCBBk.klk.......", + "...kCCCBBBnnnnkCBBBklk........", + "...kCCCBBBkCBAkCCBBklk........", + "...kCCCBBBkCBAkCCBBBlk........", + "..kCCCBBBBkCBBkCCBBlk.........", + "..kCCCBBBBkCCBkCCBBlk.........", + "..kCCCBBBBkCCBkkCCBlk.........", + "..kCCCBBBkCCCBBkCCllk.........", + "..kCCCBBBkCCCCBkCClBk.........", + "..kCCCBBBkCCCCBkCClBk.........", + ".kCCCBBBBkCCCCnkCllBk.........", + ".kCCCBBBBkCCCCnkklBBBk........", + ".kCCCBBBBkCCCCnnklBBBk........", + ".kCCCBBBBkCCCCkkllCBBk........", + ".kCCCBBBBkCCCCkklCCBBk........", + "kCCCBBBBBkmllCkklmlllk........", + "kCCCBBBBknmllkkllmlllk........", + "kCCCBBBBknmmmkkllmmllk........", + ".kkkBBBkkmmmmkklkmmllk........", + "....kkkknmmmmkllkmmllk........", + ".......knmmmmklkknmllk........", + ".......knmmmmklkknmllk........", + ".......knmmmkllkknmllk........", + ".......knmlmklk.knmllk........", + ".......knmllllk..kmlllkk......", + ".......knnmmllk..kmlllllk.....", + "........knnnllk...kmmmllk.....", + ".........kknnlk....kkmmmk.....", + "...........kkk.......kkk......", + ] }, + PA1: { x: 0, y: 7, rows: [ + "..............kkkkk............", + ".............kAAAAAk...........", + "............kBAAAAAAk..........", + "...........kBBAAAuuuuk.........", + "...........kBBBAunnnnk.........", + "...........kBBBAussssk.........", + "...........kCBBBussssk.......k.", + "...........kCBBButssk......kkxk", + "...........kCCBButsssk..kkkzxk.", + "..........kBBCCButtssk.kzzzxzk.", + ".........kCBBBCCCtttk..kzxxzk..", + ".........kCCBBBkkkkkk.kzxxzk...", + "........kCCBBBBkkkkkykkxxzzk...", + "........kCCBnnnmmlCCyybkkkk....", + "........kCCCnmmmmlCllyyk.......", + ".......kCCCnmmmmllClllyyk......", + ".......kCCCnmmmmllllAAAk.......", + ".......kCCCnmmmmmlllAAAAk......", + ".......kCCCnmmmllllllAAAk......", + ".......kCCCnmmlllllllBBBk......", + "......kCCCCnmllmlllllkkk.......", + "......kCCCBBllmmmllllk.........", + "......kCCCBlnmmmmllllk.........", + "......kCCllBnmmmllllk..........", + "......kCllBBnmmmllllk..........", + "......kllCBnnnnnnnbnnk.........", + ".....kllCCBBnmmmllllk..........", + "...kklCCCBBBnmmmllllk..........", + "..kllkCCCBBBnnnmkkkkk..........", + ".kllkkCCCBBkCCCkCCBBBk.........", + "kllk.kCCCBBkCCCkCCBBBk.........", + "lkk..kCCCBBkCCCkCCCBBk.........", + "k....kCCCBBkCCCCkCCBBk.........", + ".....kCCCBBkCCCCkCCBBBk........", + ".....kCCCBBkCCCCkCCBBBk........", + "....kCCCBBBkCCCCkCCCBBk........", + "....kCCCBBBkCCCCkCCCBBk........", + "....kCCCBBBkCCCCkCCCBBk........", + "....kCCCBBkCCCCk.kCCBBBk.......", + "....kCCCBBkCCCCk.kCCBBBk.......", + "....kCCCBBkCCCCk.kCCCBBk.......", + "....kCCCBBkCCCCk..kCCBBk.......", + "....kCCCBBkCCCCk..kCClBk.......", + "....kCCCBBkmllCk..kmlllk.......", + "....kCCBBBkmllk...kmmlllk......", + "....kCCBBBkmmmk...knmlllk......", + "....kCCBBBkmmmk...knmlllk......", + "....kCCBBkmmmmk...knmlllk......", + ".....kkkknmmmmk...knmlllk......", + "........knmmmmk....kmlllk......", + "........knmmmk.....kmmllk......", + "........knmlmk.....kmlllk......", + "........knmlllk....kmllllk.....", + "........knnmmllk...kmmmlllk....", + ".........knnnllk....knnmmlk....", + "..........kknnlk.....kknnlk....", + "............kkk........kkk.....", + ] }, + PA2: { x: 3, y: 0, rows: [ + "..klllkk.....................", + "...kklllk....................", + ".....kkllkkkkk...............", + ".......kklllllk..............", + ".........kklllkk...k.........", + "..........knnlllkkkyk........", + ".........kCBBBkllbyykk.k.....", + ".........kCBBkkkkcycllkyk....", + ".........kCCCAAkkyyclllyyk...", + "........kBAAAAAAkykkAACxyyk..", + ".......kBBAAAuuuuk.kBACzxxykk", + ".......kBBBAunnnnk.kBAAkkzxxx", + ".......kBBBAussssk.kBAAk.kkkk", + ".......kCBBBussssk.kBAAk.....", + ".......kCBBButssk..kBAAk.....", + ".......kCCBButsssk.kBAAk.....", + "......kCCCCButtsskkBBAAk.....", + ".....kCCCBCCCtttkAAABBBk.....", + ".....kCCCBBkkkkkAAAABBk......", + "....kCCCBBBkkkkAAAABBk.......", + "....kCCCnnnmmlCAAABBk........", + "....kCCCnmmmmlCAAAkk.........", + "...kCCCnmmmmllCCCk...........", + "...kCCCnmmmmlllllk...........", + "...kCCBnmmmmmlllllk..........", + "...kCCBnmmmmmlllllk..........", + "...kCCBnmmmmmlllllk..........", + "..kCCCBBnmmmmllllk...........", + "..kCCCBBnmmmmllllk...........", + "..kCCCBBnmmmmllllk...........", + "..kCCCBBnmmmmllllk...........", + "..kCCCBBnmmmllllkk...........", + "..kCCCBBnnnnnnnbnnk..........", + "..kCCCBBnmmmmllllk...........", + ".kCCCBBBnmmmmllllk...........", + ".kCCCBBBnnnnmkkklk...........", + ".kCCCBBBkCCCkCBBk............", + ".kCCCBBBkCCCkCCBBk...........", + ".kCCCBBBkCCCkCCBBBk..........", + ".kCCCBBkCCCCkCCCBBk..........", + ".kCCCBBkCCCCCkCCBBk..........", + ".kCCCBBkCCCCkCCCBBBk.........", + "kCCCBBBkCCCCkkCCCBBk.........", + "kCCCBBBkCCCCkkCCCBBk.........", + "kCCCBBBkCCCCkkCCCBBBk........", + "kCCCBBBkCCCCk.kCCCBBk........", + "kCCCBBkCCCCk..kCCCBBk........", + "kCCCBBkCCCCk...kCCBBBk.......", + "kCCCBBkCCCCk...kCCCBBk.......", + "kCCCBBkCCCCk...kCCllBk.......", + "kCCCBBkmllCk....kmlllk.......", + "kCCBBBkmllk.....kmlllk.......", + "kCCBBBkmmmk.....kmmllk.......", + "kCCBBBkmmmk.....kmmllk.......", + "kCCBBkmmmmk.....knmlllk......", + ".kkkknmmmmk.....knmlllk......", + "....knmmmmk.....knmlllk......", + "....knmmmk.......kmlllk......", + "....knmlmk.......kmlllk......", + "....knmlllk......kmmlllk.....", + "....knnmmllk.....kmmmlllk....", + ".....knnnllk......kkmmmlk....", + "......kknnlk........kkmlk....", + "........kkk...........kk.....", + ] }, + PH: { x: 0, y: 13, rows: [ + ".....k..........................", + "....klk.........................", + "....kllk........................", + ".....klk........................", + ".....kllk......kkkk.............", + "......klk.....kAAAAk............", + ".......klk...kBAAAAAk...........", + ".......klk..kBBAAAuuuk..........", + "........klk.kBBAAunnnk..........", + "........klkkCBBAAussssk.........", + ".........klkCBBBusssssk.........", + "........kBlkCBBButsssk..........", + ".......kCBBlkCBButssssk.........", + "......kCCBBlkCCButtsssk.........", + "......kCCBBBlkCCuttttk..........", + ".....kCCCBBBllkCCCttk...........", + ".....kCCCBBnllkkkkkk............", + ".....kCCCBBnnllmlCAAk...........", + "....kCCCBBBnmmlmlCAAk...........", + "....kCCCBCnmmmlllCAAAk..........", + "....kCCCBCnmmmmllCBAAk..........", + "...kCCCBBCnmmmmllCBAAk..........", + "...kCCCBBBnmmmmmllCAAk..........", + "...kCCCBBBnmmmmlllCAAk..........", + "...kCCCBBBnmmmmllllAAk..........", + "..kCCCBBBBnmmmmllnllk...........", + "..kCCCBBBBnmmmmllnnlk...........", + "..kCCCBBBBBnmmmlllnlk...........", + "..kCCCBBBBnnnnnnnnnlk...........", + ".kCCCBBBBBBnmmmllbkklk..........", + ".kCCCBBBBBknmmmkkkkkllk.........", + ".kCCCBBBBBknnnkCCBBBklk.........", + ".kCCCBBBBBkCCCkCCBBBkllk........", + ".kCCCBBBBkCCCCkCCCBBBklk........", + "kCCCBBBBBkCCCCCkCCCBBBllk.......", + "kCCCBBBBkCCCCCkkCCCCBBBlk.......", + "kCCCBBBBkCCCCCk.kCCCCBBklk......", + "kCCCBBBBkCCCCk...kCCCBBBlk......", + "kCCBBBBkCCCCCk....kCllBBkbkk....", + "kCCBBBkCCCCCk.....kmllllkcyyk...", + "kCBBBkkCCCCCk.....kmmlllyyyk....", + ".kBBkkmlCCCk......kmmllkykxkk...", + "..kkkmmllCCk......kmmllkk.kxyk..", + "...kmmmmllk.......kmmllk.kzxyyk.", + "...kmmmmmk........kmlllk.kzzxyk.", + "..kmlmmmmk........kmlllk..kzxyk.", + ".knmllmmk.........kmlllkk..kzxyk", + ".knmmllk..........kmlllllk..kxyk", + "..knnlllk..........kmmmllk...kxk", + "...knnmmk...........kkmmmk...kxx", + "....kkmk..............kkk.....kk", + ] }, + PR1: { x: 1, y: 4, rows: [ + ".k............................", + "klk...........................", + "kllk..........................", + ".klk..........................", + "..klk.........................", + "..klk.........................", + "...klk........................", + "...kllk.......................", + "....klk.......................", + "....kllk.....kkkkkk...........", + ".....klk....kBAAAAAk..........", + "......klk..kBBAAAAAAk.........", + "......klk..kBBAAuuuuk.........", + ".......klkkCBBAAunnnnk........", + ".......kllkCBBBusssssk........", + "........klkCBBBusssssk........", + ".......kCllCCBButsssk.........", + ".......kCBllCCButtsssk........", + "......kCCBBlCCCuuttsk.........", + "......kCCBBllCCCutttk.........", + "......kCCCBBllkkkkkk..........", + ".....kCCCBnnllmllllk..........", + ".....kCCCBnmmlmlCCCAk.........", + ".....kCCCCnmmmllCBAAk.........", + "....kCCCCCnmmmllCBAAk.........", + "....kCCCBBnmmmmllCBAAk........", + "....kCCCBBnmmmmllCBAAk........", + "....kCCCBBnmmmmllllAAk........", + "....kCCCBBnmmmmllllAAk........", + "...kCCCBBBnmmmmlnlllk.........", + "...kCCCBBBnmmmmlnlllk.........", + "...kCCCBBBnmmmmllnnk..........", + "...kCCCBBBnmmmllllklk.........", + "..kCCCBBBBnnnnnnnblllk........", + "..kCCCBBBBnmmmmllllklk........", + "..kCCCBBBBnmmmmkkklkklk.......", + "..kCCCBBBknnnnkCBBkkklk..k....", + "..kCCCBBBkCCCCkCCBBBkkbkkyk...", + ".kCCCBBBBkCCCCkCCBBBkkcyyk....", + ".kCCCBBBBkCCCCkCCCBBByyck.....", + ".kCCCBBBkCCCCCkCCCCBBkkxxkk...", + ".kCCCBBBkCCCCCkkCCCBBBkkxyyk..", + ".kCCCBBBkCCCCk.kCCCCBBkkzxyk..", + ".kCCCBBBkCCCCk..kCCCBBBkzxyyk.", + ".kCCCBBkCCCCk....kCCCBBkzzxyk.", + ".kCCCBBkCCCCk....kCCCBBBkkxxk.", + "kCCCBBBkCCCCk.....kCCCBBk.kxk.", + "kCCCBBBkCCCk......kCmlllk.kxxk", + "kCCBBBkmllCk......knmlllk..kxk", + "kCCBBBkmmllk......knmlllk...k.", + "kCCBBBkmmmmk......knmlllk.....", + ".kkBBkmmmmk........kmlllk.....", + "...kknmmmmk........kmmllk.....", + "....knmmmk.........kmmllk.....", + "....kmllmk.........kmlllk.....", + "....kmmllkk........kmllllk....", + "....kmmmlllk.......kmmmlllk...", + ".....knnmmlk........knnmmlk...", + "......kknnlk.........kknnlk...", + "........kkk............kkk....", + ] } +}; + +// Timing in ticks of 1/60 s. The thrust holds from 1.87 to 2.13 s and its +// second recovery cell covers 2.33 s; the pin's wind-up covers 3.67 s, the +// pin itself 4.0 s and its recovery 4.33 s. Rest cells count from the end of +// the last action, so no rest cell is cut to a single frame. +const REST = [["I0", 10], ["I1", 10], ["I2", 10], ["I3", 10]]; +const LUNGE = [["LA1", 8], ["LA2", 8], ["LH", 16], ["LR1", 8], ["LR2", 12]]; +const PIN = [["PA1", 8], ["PA2", 8], ["PH", 16], ["PR1", 8], ["LR2", 14]]; +const START = 96; // the first action starts at 1.6 s +const PLANS = [ + { loop: 256, acts: [[LUNGE, 0], [PIN, 122]] }, // lunge at 1.6 s, pin at 3.63 s, 4.27 s loop + { loop: 130, acts: [[LUNGE, 0]] }, + { loop: 130, acts: [[PIN, 0]] }, +]; +const LEN = (seq) => seq.reduce((a, c) => a + c[1], 0); + +const { floor, min, max } = Math; + +function play(seq, at) { + for (let i = 0; i < seq.length; i++) { + if (at < seq[i][1]) return seq[i][0]; + at -= seq[i][1]; + } + return null; +} +function rest(at) { + return REST[floor(at / 10) % REST.length][0]; +} +function cellAt(tick, action) { + if (tick < START) return rest(tick); + const plan = PLANS[action]; + const u = (tick - START) % plan.loop; + let since = u + plan.loop - (plan.acts[plan.acts.length - 1][1] + LEN(plan.acts[plan.acts.length - 1][0])); + for (const [seq, at] of plan.acts) { + if (u >= at && u < at + LEN(seq)) return play(seq, u - at); + if (u >= at + LEN(seq)) since = u - at - LEN(seq); + } + return rest(since); +} + +export function setup(params) { + params.t = 0; + params.action = 0; + params.speed = 1; + params.flip = false; + params.bg = 0; +} + +export function update(dt, input, params) { + if (params.t === undefined) setup(params); + const k = input.knobValues || [0, 2, 0, 0.06]; + params.action = min(2, max(0, floor(k[0]))); + params.speed = min(3, max(0.5, k[1])) / 2; + params.flip = k[2] >= 0.5; + params.bg = 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.t === undefined) setup(p); + const bg = BACKDROPS[p.bg]; + const br = (bg >> 16) & 255, bgg = (bg >> 8) & 255, bb = bg & 255; + for (let y = 0; y < H; y++) for (let x = 0; x < W; x++) display.setPixel(x, y, br, bgg, bb); + const cell = CELLS[cellAt(floor(p.t * 60 + 1e-6), p.action)]; + const rows = cell.rows; + for (let j = 0; j < rows.length; j++) { + const r = rows[j]; + const y = (cell.y + j) * 2; + for (let i = 0; i < r.length; i++) { + const ch = r[i]; + if (ch === ".") continue; + const c = PAL[ch]; + const ax = cell.x + i; + const x = (p.flip ? 31 - ax : ax) * 2; + const cr = c === undefined ? 255 : (c >> 16) & 255; + const cg = c === undefined ? 0 : (c >> 8) & 255; + const cb = c === undefined ? 255 : c & 255; + display.setPixel(x, y, cr, cg, cb); + display.setPixel(x + 1, y, cr, cg, cb); + display.setPixel(x, y + 1, cr, cg, cb); + display.setPixel(x + 1, y + 1, cr, cg, cb); + } + } +} From ac4f89f05f3ee8a18705a8f319e147d2fe64acfc Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:32:28 +0000 Subject: [PATCH 04/10] =?UTF-8?q?Ardith=20=ED=8C=A8=EC=8A=A4=201:=20?= =?UTF-8?q?=EA=B3=A0=EC=B9=A0=20=EA=B2=83=EA=B3=BC=20=EA=B8=B0=EB=8C=80?= =?UTF-8?q?=EB=A5=BC=20=EB=A8=BC=EC=A0=80=20=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_01Gdqi6R6CVYddXixJJvXkqP --- incoming/pattern-study/craft/ardith/log.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/incoming/pattern-study/craft/ardith/log.md b/incoming/pattern-study/craft/ardith/log.md index 3565c085..f8bd1f97 100644 --- a/incoming/pattern-study/craft/ardith/log.md +++ b/incoming/pattern-study/craft/ardith/log.md @@ -7,3 +7,10 @@ - 리그 판정 말: 안 1 「망토 덩어리와 긴 창이 있어 역할이 읽힘」 · 안 4 「종 모양 치마가 고유한 실루엣」 · 안 2 「망토 덩어리가 머리와 다리 사이 위계」 · 안 3 「팔다리가 가는 막대」 - 카드 고침: 둘째 동작을 받쳐 꿇기에서 꽂아 누르기로 바꿈. 꿇은 자세의 예비에서 창이 머리를 가로질러 예비와 타격이 깨끗이 안 갈렸음 - 선 판: 셀 13 · 14색(배경 포함) · 쉬기 키 58(두건 꼭대기 y 6~발바닥 y 63, 외곽선 포함) · 머리 9 · 6.4등신 · 어두운 칠(L* 35 아래) 49~56% · 노브 K1 0.03 · K2 0.10 · K3 0.12 · K4 0.03 · 한 프레임 깜빡임 0 + +### 패스 1 +- 비평 1: 플레이어 7 · 애니메이터 7 · 관객 6 · 블라인드 읽기 1/3(종류를 「두건 쓴 창병 도적 스타일의 사냥꾼」, 성격을 「신중하고 날렵한」으로 읽음, 무기만 맞음) · 닮은꼴 초록 두건 차림의 요정 숲 검사 「가깝다」, 숲의 의적 「조금」, 활 쏘는 요정 척후병 「조금」 +- 확인 차례: ① 찌르기 자세가 패널보다 넓어 창끝·자루·망토 자락이 가장자리에서 잘림(플레이어, 애니메이터, 관객) 예 +- 고칠 것: ① 타격 셀 · 창날이 x 63 에 붙어 촉 끝이 안 보이고 자루와 망토 자락이 x 0 에서 끝 없이 잘림 · (63,72) (0,72) (0,66) +- 짚은 렌즈: 관객 6점 「캐릭터가 화면 틀에 끼어 있어요」 · 플레이어 7점 「창촉 끝이 x 63 판 가장자리에 닿아 잘려」 · 애니메이터 7점 「창날 끝이 판 끝 x 63 에서 잘림」 +- 기대: pair-zoom 과 pair-led 의 찌르기에서 창날 끝이 x 61 에서 뾰족하게 외곽선으로 닫히고, 자루 뒤쪽은 망토 자락 밑으로 숨고, 망토 자락은 왼쪽 끝에서 뾰족하게 끝남 From 4a910bc365f71934e0e1b2e5c9447a063e4e27ed Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:37:05 +0000 Subject: [PATCH 05/10] =?UTF-8?q?Ardith=20=ED=8C=A8=EC=8A=A4=201=20?= =?UTF-8?q?=EB=90=98=EB=8F=8C=EB=A6=BC=EC=9D=84=20=EC=A0=81=EA=B3=A0=20?= =?UTF-8?q?=ED=8C=A8=EC=8A=A4=202=20=EB=A5=BC=20=EC=A0=81=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_01Gdqi6R6CVYddXixJJvXkqP --- incoming/pattern-study/craft/ardith/log.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/incoming/pattern-study/craft/ardith/log.md b/incoming/pattern-study/craft/ardith/log.md index f8bd1f97..4aef9dcc 100644 --- a/incoming/pattern-study/craft/ardith/log.md +++ b/incoming/pattern-study/craft/ardith/log.md @@ -9,8 +9,18 @@ - 선 판: 셀 13 · 14색(배경 포함) · 쉬기 키 58(두건 꼭대기 y 6~발바닥 y 63, 외곽선 포함) · 머리 9 · 6.4등신 · 어두운 칠(L* 35 아래) 49~56% · 노브 K1 0.03 · K2 0.10 · K3 0.12 · K4 0.03 · 한 프레임 깜빡임 0 ### 패스 1 -- 비평 1: 플레이어 7 · 애니메이터 7 · 관객 6 · 블라인드 읽기 1/3(종류를 「두건 쓴 창병 도적 스타일의 사냥꾼」, 성격을 「신중하고 날렵한」으로 읽음, 무기만 맞음) · 닮은꼴 초록 두건 차림의 요정 숲 검사 「가깝다」, 숲의 의적 「조금」, 활 쏘는 요정 척후병 「조금」 +- 비평 1: 장인 4 · 플레이어 7 · 애니메이터 7 · 관객 6 · 블라인드 읽기 1/3(종류를 「두건 쓴 창병 도적 스타일의 사냥꾼」, 성격을 「신중하고 날렵한」으로 읽음, 무기만 맞음) · 닮은꼴 초록 두건 차림의 요정 숲 검사 「가깝다」, 숲의 의적 「조금」, 활 쏘는 요정 척후병 「조금」 - 확인 차례: ① 찌르기 자세가 패널보다 넓어 창끝·자루·망토 자락이 가장자리에서 잘림(플레이어, 애니메이터, 관객) 예 - 고칠 것: ① 타격 셀 · 창날이 x 63 에 붙어 촉 끝이 안 보이고 자루와 망토 자락이 x 0 에서 끝 없이 잘림 · (63,72) (0,72) (0,66) - 짚은 렌즈: 관객 6점 「캐릭터가 화면 틀에 끼어 있어요」 · 플레이어 7점 「창촉 끝이 x 63 판 가장자리에 닿아 잘려」 · 애니메이터 7점 「창날 끝이 판 끝 x 63 에서 잘림」 - 기대: pair-zoom 과 pair-led 의 찌르기에서 창날 끝이 x 61 에서 뾰족하게 외곽선으로 닫히고, 자루 뒤쪽은 망토 자락 밑으로 숨고, 망토 자락은 왼쪽 끝에서 뾰족하게 끝남 +- 바뀐 LED: 정지 1172 · 10초 1172 · 노브 1944 · 팔레트 14→14색 +- A/B: 장인 같음(정순 새, 역순 옛 「자루가 날보다 LED 2칸 아래라 창 선이 끊김」) · 플레이어 새 · 애니메이터 옛(역순 「자루와 창날이 어긋난 꺾인 선」) · 관객 옛(역순 「오른판 스프라이트가 전체로 어둡고 자루가 가늘어짐」) +- 버린 판정: 잡기 실패 3(애니메이터 정순 1, 관객 정순 2). 짚은 렌즈 둘이 이미 「새」가 될 수 없어 더 받지 않음 +- 고친 판에서 자루는 37행, 창날은 36행이라 창이 한 칸 꺾였음(내 고침의 잘못). 되돌림 + +### 패스 2 +- 비평 1 그대로(패스 1 되돌림) +- 고칠 것: ① 타격 셀 · 패스 1 과 같은 지적의 둘째 고침. 창을 한 행에 곧게 둔 채 뒤로 물려 창날 끝이 x 61 에서 닫히고, 자루 끝은 뾰족한 망토 자락 밑으로 숨음. 머리와 몸은 처음 판 그대로, 앞손만 창 목 뒤로 · (63,72) (0,72) (0,66) +- 짚은 렌즈: 관객 6점 · 플레이어 7점 · 애니메이터 7점(패스 1 과 같음) +- 기대: pair-zoom 과 pair-led 의 찌르기에서 창이 y 72~73 한 줄로 곧고, 촉 끝이 x 61 에서 뾰족하게 닫히고, 왼쪽 끝에는 망토 자락 끝만 닿음 From 8592d38125bd6306bf34a737d0fe5915310761f7 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:40:56 +0000 Subject: [PATCH 06/10] =?UTF-8?q?Ardith=20=ED=8C=A8=EC=8A=A4=202=20?= =?UTF-8?q?=EB=A7=89=ED=9E=98=EC=9D=84=20=EC=A0=81=EA=B3=A0=20=ED=8C=A8?= =?UTF-8?q?=EC=8A=A4=203=20=EC=9D=84=20=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_01Gdqi6R6CVYddXixJJvXkqP --- incoming/pattern-study/craft/ardith/log.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/incoming/pattern-study/craft/ardith/log.md b/incoming/pattern-study/craft/ardith/log.md index 4aef9dcc..e46998e6 100644 --- a/incoming/pattern-study/craft/ardith/log.md +++ b/incoming/pattern-study/craft/ardith/log.md @@ -24,3 +24,15 @@ - 고칠 것: ① 타격 셀 · 패스 1 과 같은 지적의 둘째 고침. 창을 한 행에 곧게 둔 채 뒤로 물려 창날 끝이 x 61 에서 닫히고, 자루 끝은 뾰족한 망토 자락 밑으로 숨음. 머리와 몸은 처음 판 그대로, 앞손만 창 목 뒤로 · (63,72) (0,72) (0,66) - 짚은 렌즈: 관객 6점 · 플레이어 7점 · 애니메이터 7점(패스 1 과 같음) - 기대: pair-zoom 과 pair-led 의 찌르기에서 창이 y 72~73 한 줄로 곧고, 촉 끝이 x 61 에서 뾰족하게 닫히고, 왼쪽 끝에는 망토 자락 끝만 닿음 +- 바뀐 LED: 정지 416 · 10초 416 · 노브 752 · 팔레트 14→15색 +- A/B: 장인 옛(역순 「날밑이 손보다 4칸 왼쪽이라 손과 떨어져 보임」, 정순은 두 번 다 버림) · 플레이어 새 · 애니메이터 옛(정순 「창대가 망토 안쪽에서야 시작해 창이 칼로 바뀐 것처럼 읽힘」, 역순 「자루 뒤끝이 망토에 덮여 창이 짧아 보임」) · 관객 새 +- 버린 판정: 잡기 실패 2(장인 정순) · 바뀐 자리 밖을 짚음 1(관객 역순 (26,44)) +- 되돌림. 같은 지적이 두 번 되돌려져 막힘. 판정단은 창 자루가 패널을 가로질러 잘려도 한 줄로 이어진 쪽을 창으로 읽음 + +### 패스 3 +- 비평 1 그대로(패스 2 되돌림) +- 확인 차례: ① 꽂아 누르기 타격 장이 한 장만 봐서는 꽂는지, 낮게 찌르는지, 넘어지는지 안 읽힘(애니메이터 ①, 관객 ⑥) 예 +- 고칠 것: ① 꽂아 누르기 타격 셀(4.0초) · 자세가 몸을 낮춘 비스듬한 찌르기로만 보임 · (58,123) (34,35) +- 짚은 렌즈: 애니메이터 7점 「한 장만 보면 예비인지 낮게 찌르는 다른 동작인지 갈리지 않음」 · 관객 6점 「낮게 찌르는 건지 넘어지는 건지 읽히지 않아요」 +- 기대: pair-strip 일곱째 장과 4.0초 pair-zoom 에서 머리가 창 쪽으로 숙고, 몸통이 창 위로 기울고, 망토 자락이 등 뒤로 솟아 위에서 내리꽂는 동작으로 읽힘. 창은 머리 뒤로 지나 촉이 앞발보다 앞 땅에 박힘 +- 그림: 이 셀은 2.0초 정지 그림에 없어서 ⑥층 표대로 pair-strip 과 4.0초 pair-zoom, pair-led 를 줌 From 93f24804c870ea5061c3ad8497523f57697ee889 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:45:30 +0000 Subject: [PATCH 07/10] =?UTF-8?q?Ardith=20=ED=8C=A8=EC=8A=A4=203=20?= =?UTF-8?q?=EB=90=98=EB=8F=8C=EB=A6=BC=EC=9D=84=20=EC=A0=81=EA=B3=A0=20?= =?UTF-8?q?=EB=B0=94=ED=80=B4=20=EB=81=9D=20=EA=B7=B8=EB=A6=BC=EC=9D=84=20?= =?UTF-8?q?=EB=91=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_01Gdqi6R6CVYddXixJJvXkqP --- incoming/pattern-study/craft/ardith/log.md | 4 ++++ incoming/pattern-study/craft/ardith/look-92.png | Bin 0 -> 44859 bytes 2 files changed, 4 insertions(+) create mode 100644 incoming/pattern-study/craft/ardith/look-92.png diff --git a/incoming/pattern-study/craft/ardith/log.md b/incoming/pattern-study/craft/ardith/log.md index e46998e6..fe7df971 100644 --- a/incoming/pattern-study/craft/ardith/log.md +++ b/incoming/pattern-study/craft/ardith/log.md @@ -36,3 +36,7 @@ - 짚은 렌즈: 애니메이터 7점 「한 장만 보면 예비인지 낮게 찌르는 다른 동작인지 갈리지 않음」 · 관객 6점 「낮게 찌르는 건지 넘어지는 건지 읽히지 않아요」 - 기대: pair-strip 일곱째 장과 4.0초 pair-zoom 에서 머리가 창 쪽으로 숙고, 몸통이 창 위로 기울고, 망토 자락이 등 뒤로 솟아 위에서 내리꽂는 동작으로 읽힘. 창은 머리 뒤로 지나 촉이 앞발보다 앞 땅에 박힘 - 그림: 이 셀은 2.0초 정지 그림에 없어서 ⑥층 표대로 pair-strip 과 4.0초 pair-zoom, pair-led 를 줌 +- 바뀐 LED: 정지 0(2.0초) · 4.0초 정지 2944 · 10초 2944 · 노브 2944 · 팔레트 14→14색 +- A/B: 장인 옛(역순 「망토가 날개처럼 솟아 끝이 뾰족한 한 칸으로 튀고, 머리가 어깨에 붙음」) · 플레이어 옛(정순 「망토가 박쥐 날개처럼 접히고 창이 몸과 헷갈려요」, 역순 「머리가 내려앉아 웅크리고 큰 덩어리 위계가 깨짐」) · 애니메이터 새(「망토가 위로 치켜 올라가 몸보다 늦게 따라옴」) · 관객 같음(정순 새, 역순 옛 「웅크린 덩어리처럼 보이고 실루엣이 어수선」) +- 버린 판정: 없음 +- 「옛」인 렌즈(플레이어)가 있고 짚은 관객이 「새」가 아니라 되돌림. 되돌림 셋이 이어져 바퀴를 일찍 닫음 diff --git a/incoming/pattern-study/craft/ardith/look-92.png b/incoming/pattern-study/craft/ardith/look-92.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c1f8ef71382e476db820d621f982dcb8f6794d GIT binary patch literal 44859 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

gF45xn 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 C8*i)t literal 0 HcmV?d00001 From e04cbb0f5342f8378aea8525cf9dc187aeb1d5fa Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:46:34 +0000 Subject: [PATCH 08/10] =?UTF-8?q?Ardith=20=ED=8C=A8=EC=8A=A4=203=20?= =?UTF-8?q?=EC=9E=A5=EC=9D=B8=20=ED=8C=90=EC=A0=95=EC=9D=84=20=EB=A7=88?= =?UTF-8?q?=EC=A0=80=20=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_01Gdqi6R6CVYddXixJJvXkqP --- incoming/pattern-study/craft/ardith/log.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/incoming/pattern-study/craft/ardith/log.md b/incoming/pattern-study/craft/ardith/log.md index fe7df971..4bbdf06c 100644 --- a/incoming/pattern-study/craft/ardith/log.md +++ b/incoming/pattern-study/craft/ardith/log.md @@ -37,6 +37,6 @@ - 기대: pair-strip 일곱째 장과 4.0초 pair-zoom 에서 머리가 창 쪽으로 숙고, 몸통이 창 위로 기울고, 망토 자락이 등 뒤로 솟아 위에서 내리꽂는 동작으로 읽힘. 창은 머리 뒤로 지나 촉이 앞발보다 앞 땅에 박힘 - 그림: 이 셀은 2.0초 정지 그림에 없어서 ⑥층 표대로 pair-strip 과 4.0초 pair-zoom, pair-led 를 줌 - 바뀐 LED: 정지 0(2.0초) · 4.0초 정지 2944 · 10초 2944 · 노브 2944 · 팔레트 14→14색 -- A/B: 장인 옛(역순 「망토가 날개처럼 솟아 끝이 뾰족한 한 칸으로 튀고, 머리가 어깨에 붙음」) · 플레이어 옛(정순 「망토가 박쥐 날개처럼 접히고 창이 몸과 헷갈려요」, 역순 「머리가 내려앉아 웅크리고 큰 덩어리 위계가 깨짐」) · 애니메이터 새(「망토가 위로 치켜 올라가 몸보다 늦게 따라옴」) · 관객 같음(정순 새, 역순 옛 「웅크린 덩어리처럼 보이고 실루엣이 어수선」) +- A/B: 장인 옛(정순 「소매 옆에 튀는 검은 칸, 칼날 옆에 겹친 두꺼운 검은 선」, 역순 「망토가 날개처럼 솟아 끝이 뾰족한 한 칸으로 튀고, 머리가 어깨에 붙음」) · 플레이어 옛(정순 「망토가 박쥐 날개처럼 접히고 창이 몸과 헷갈려요」, 역순 「머리가 내려앉아 웅크리고 큰 덩어리 위계가 깨짐」) · 애니메이터 새(「망토가 위로 치켜 올라가 몸보다 늦게 따라옴」) · 관객 같음(정순 새, 역순 옛 「웅크린 덩어리처럼 보이고 실루엣이 어수선」) - 버린 판정: 없음 - 「옛」인 렌즈(플레이어)가 있고 짚은 관객이 「새」가 아니라 되돌림. 되돌림 셋이 이어져 바퀴를 일찍 닫음 From 6555f4d19b4d1a038cdf2036358c60f6a73155d0 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 02:51:41 +0000 Subject: [PATCH 09/10] =?UTF-8?q?Ardith=2092=ED=8C=90=20=EB=B0=94=ED=80=B4?= =?UTF-8?q?=20=EB=81=9D=EC=9D=84=20=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_01Gdqi6R6CVYddXixJJvXkqP --- incoming/pattern-study/craft/ardith/log.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/incoming/pattern-study/craft/ardith/log.md b/incoming/pattern-study/craft/ardith/log.md index 4bbdf06c..277092cd 100644 --- a/incoming/pattern-study/craft/ardith/log.md +++ b/incoming/pattern-study/craft/ardith/log.md @@ -1,6 +1,6 @@ 상태: a 깎는 중 -## 92판 (바퀴 90) · 길 a · 시작 86c97ef +## 92판 (바퀴 90) · 길 a · 시작 ebfaa31 - 정지 프레임 t=2 · 노브 [0, 2, 0, 0.06] - 리그(첫 바퀴만): 안 1 3승 · 안 4 2승 · 안 2 1승 · 안 3 0승 → 길 a 안 1, 길 b 안 4 - 안 1~4: 긴 두건 망토에 두 손 돌진 찌르기, 짧은 망토에 등불과 한 손 위로 찌르기, 긴 목도리에 높은 자세와 한 손 펜싱 찌르기, 종 모양 긴 코트에 창을 어깨에 메고 돌며 쓸어 찌르기 @@ -40,3 +40,11 @@ - A/B: 장인 옛(정순 「소매 옆에 튀는 검은 칸, 칼날 옆에 겹친 두꺼운 검은 선」, 역순 「망토가 날개처럼 솟아 끝이 뾰족한 한 칸으로 튀고, 머리가 어깨에 붙음」) · 플레이어 옛(정순 「망토가 박쥐 날개처럼 접히고 창이 몸과 헷갈려요」, 역순 「머리가 내려앉아 웅크리고 큰 덩어리 위계가 깨짐」) · 애니메이터 새(「망토가 위로 치켜 올라가 몸보다 늦게 따라옴」) · 관객 같음(정순 새, 역순 옛 「웅크린 덩어리처럼 보이고 실루엣이 어수선」) - 버린 판정: 없음 - 「옛」인 렌즈(플레이어)가 있고 짚은 관객이 「새」가 아니라 되돌림. 되돌림 셋이 이어져 바퀴를 일찍 닫음 + +## 바퀴 끝 +- 두 번 채점: 장인 6,6 · 플레이어 7,7 · 애니메이터 7,7 · 관객 6,6 · 블라인드 읽기 1/3(「초록 두건과 망토를 두른 갈색 가죽 조끼의 창병 병사」, 무기만 맞음) +- 장거리 A/B: 길 a 의 첫 바퀴라 건너뜀 +- 닮은꼴: 초록 두건 차림의 요정 숲 검사 「조금」 · 초록 망토의 숲 순찰대 대장 「조금」 +- 걸린 멈춤: 되돌림 셋이 이어져 일찍 닫음. 패스 1·2 의 ① 찌르기 창 잘림 지적은 막힘. 막힌 층이 ① 이라 다음 바퀴도 ① 부터 봐요 +- 채점이 같이 짚은 것: ③ 초록이 두건·망토·소매·바지 넷에 깔리고 가죽까지 따뜻한 중채도라 칠의 무게가 어두운 쪽에 없음(플레이어 둘) · ① 찌르기 장의 창이 패널 양끝에서 잘리고 자루가 몸통 황갈색에 묻힘(애니메이터 둘, 장인, 관객) · ⑥ 쉬는 일곱 장이 같은 그림(애니메이터 둘, 관객 둘) · ⑦ K2 양 끝이 같은 서기, K4 는 배경만(관객 둘) · ④ 창 손 둘레 고아 칸과 뒷장화 밝은 줄(장인 둘) +- 창작자에게: 작품 2 첫 캐릭터라 실루엣 리그와 첫 판까지는 섰지만, 세 패스가 다 되돌려져 깎인 곳은 없어요. 판정단은 찌르기 창이 패널을 가로질러 잘려도 한 줄로 이어진 쪽을 창으로 읽었고, 창을 패널 안에 넣으려고 자루를 망토 뒤로 숨기면 칼로 읽었어요 From 82ce624592f172ad5c71052b8d754d19092e0764 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 03:52:14 +0000 Subject: [PATCH 10/10] =?UTF-8?q?index.html=20=EC=9D=84=2092=ED=8C=90?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EB=8B=A4=EC=8B=9C=20=EC=A7=93=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_01Gdqi6R6CVYddXixJJvXkqP --- 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..c50052d0 100644 --- a/incoming/pattern-study/index.html +++ b/incoming/pattern-study/index.html @@ -210,8 +210,8 @@

패턴 연구

- - + +