이 글은 Daily Log 시리즈의 97번째 기록입니다. (총 155개)

오늘 한 일

  • Claude를 Fable 5 사용해서 workspace에 있는 모든 앱에 대한 report를 진행했다. 덕분에 max로 변경한 이후 처음으로 limit에 걸렸다. 토큰이 정말 쭉쭉 닳는다.
  • 습관만들기 Pawbit — 개선안 리포트 → 밸런스 보강 → AdMob 실 ID
    • 개선안 리포트 — 코드 전체를 훑어 우선순위 정리. 특히 초반 경제를 숫자로 시뮬레이션해서 “습관 1개 유저는 강아지가 만성 아픔 루프에 빠진다”(첫 퍼즐까지 3주)를 발견
    • 신규 강아지 보호 기간 7일 — 입양(최초 케어 기록) 후 7일간 케어 레벨을 2에서 캡 → 아프지 않음. 보호 기간 내 “아픔” 알림은 보호 종료 시점으로 이동
    • 광고 일일 3회 캡 — 슬롯/보너스 포인트/수정권 합산. 날짜 문자열 키 하나로 자정 자동 리셋, 소진 시 버튼 “내일 다시” 비활성 + 카운터 표시
    • AdMob 실 ID 적용 — rewarded 광고 단위는 release 빌드에서만 실 ID(debug는 테스트 ID 강제), 매니페스트 앱 ID(~) 교체. Android 광고 세팅 완료
  • Crescendo — 엔딩 함대 + S5 확장
    • 엔딩 함대 비행선 실루엣 개선 — 사각형 조합이 상자처럼 보여서 Graphics 폴리곤으로 (뾰족한 기수·행어 노치·함교·림라이트·창문 점광·깜빡이는 엔진 글로우)
    • S5 최종전 접근 구간 확장 — 5화면 → 8화면 (다른 스테이지 대비 절반이라 짧았음), 잡몹 근접+원거리+돌진 풀 혼합 15마리
  • 메트로놈(Simple Metronome) — 비주얼 다듬기 라운드
    • 박자표를 둥근 테두리 박스 안에 굵은 숫자 분수 모양으로, BPM 숫자 크게, 버튼 라운드 처리, 시크바를 테마색으로
    • 발자국 인디케이터를 박 단위 세트로 묶음 — 9/8이면 [큰1+작2]가 한 세트라, 줄바꿈돼도 세트가 안 찢어짐. 줄 수도 화면 폭 기준으로 자동
    • Subdivision 컨트롤 제거 — 박자표가 분할을 이미 표현하니(6/8=셋잇단) 중복이었음. 하단이 [박자표 | Play]로 단순해짐
    • 박자표 분자를 1~12로 확장 — 12/8(4박 × 3잇단)도 선택 가능
  • 소설 타임라인 관리 도구 Lumior 제작 (M1~M3)
    • 옵시디언 vault의 md frontmatter를 파싱해 타임라인·점검·인물축으로 보는 로컬 도구, md는 읽기 전용
    • 파서 + /api/timeline + 기존 뷰어를 fetch로 연결해 새로고침 자동 반영
    • 점검(lint) 리포트 — 연호·Year·날짜 누락/이상, characters 없음. 각 항목에 걸린 이유 라벨과 옵시디언 링크
    • 인물축 스윔레인 — 고른 인물이 행, 시간이 열. 년/월/일 구분 단위 선택, 미상 항목 숨김 토글
    • 해설집(ref) 중첩 — 참조하는 본문 아래에 작게 표기. 창 포커스 시 자동 새로고침
    • 데이터 정리 — 점검이 짚은 빈 연호 해설집 중 원본과 완전히 일치하는 34개만 원본 날짜 채움(백업 후 frontmatter만)
  • 블로그(KimLog) — 개선 리포트 → SEO·성능·검색 정비
    • SEO — daily-log 제목 96건 고유화(날짜 접미사 + 목록용 short_title), summary 포스트 60개에 description 일괄 추가, robots.txt, 포스트별 og:image(프로젝트 썸네일 자동), 사이트 lang을 en → ko로
    • 성능 — Font Awesome CDN 제거(footer 아이콘 인라인 SVG 교체), 홈 워드클라우드용 경량 tags.json 분리 (636KB → 20KB)
    • UX — 워드클라우드 태그 클릭 → 검색 연결(?q= 파라미터), 캔버스 스크린리더용 aria-label
    • 검색 — Pagefind 도입. 빌드 시 인덱스를 잘게 분할 생성해 검색어 입력 시 필요한 조각만 다운로드, 인덱스 없는 환경은 기존 검색으로 자동 fallback
    • 저장소 정리 — .idea/(IDE 설정) git 추적 제거

어려웠던 점

  • “보호 기간 = 안 아픔”을 그냥 레벨 0으로 만들면 보호가 끝나는 순간 갑자기 아픔으로 점프한다. 배고픔 단계(1~2)는 그대로 보여주고 아픔(3)만 막는 레벨 캡 방식으로 풀어서, 상태 변화가 자연스럽게 이어지게 함
  • 광고 ID가 앱 ID(~)와 단위 ID(/) 두 종류라는 걸 구분해야 했다 — 매니페스트에는 앱 ID, 코드에는 단위 ID. 단위 ID만 실 ID로 바꾸면 매니페스트가 테스트 앱 ID라 실광고가 안 나옴
  • Crescendo 함선 — 도형 몇 개를 겹쳐놓는 것만으로는 “비행선”으로 안 읽혔다. 실루엣의 외곽 형태 자체가 정보를 전달해야 해서, 뾰족한 기수·함교·행어 노치 같은 특징 요소를 폴리곤으로 직접 그리니 그제서야 함선으로 보임
  • 메트로놈 UI 수치는 한 번에 안 맞는다 — 박자표 크기·발자국 크기·버튼 줄바꿈을 Android Studio에서 눈으로 확인하며 여러 번 조정했다. BPM 숫자를 키웠더니 옆 ± 버튼이 좁아져 글자가 줄바꿈되는 식으로, 한 요소를 키우면 이웃이 밀리는 상호작용이 계속 나왔다
  • 발자국 줄바꿈이 세트를 찢는 문제 — 점 개수로 반씩 나누니 9/8에서 큰 발자국과 그 작은 발자국들이 다른 줄로 갈라졌다. “한 박 = 한 세트”라는 단위를 레이아웃에도 그대로 반영해야 했다
  • 블로그 분석 도구가 GTM·GA·Cloudflare Insights 3중으로 겹쳐 보였는데, 뜯어보니 GA 스니펫은 설정값이 없어 아예 출력되지 않는 죽은 코드였다. 실제 활성은 GTM + Cloudflare Insights 2개 — GTM 컨테이너 안에 GA4 태그가 있는지는 대시보드에서 확인해야 함
  • 제목에 날짜를 붙이니 목록에서 날짜가 이중 표시되는 문제 — 목록 표시용 short_title 필드를 따로 두고 default 필터로 fallback시켜 해결
  • Lumior — 무엇을 타임라인에 넣을지가 제일 고민이었다. 연호·Year가 빈 템플릿을 넣으면 설정 문서까지 섞이고, 빼면 정작 “연호 없음”을 짚어야 할 점검이 무력해진다. 점검 취지를 살리려 “값이 비어도 필드가 있으면 포함”으로 정했다. 해설집은 억지 유사 매칭 대신 원본과 완전히 일치하는 것만 날짜를 채우기로 선을 그었고, 인물축은 이리스 0년에 스토리가 몰려 년 단위론 인물 교차가 안 보여 년/월/일 구분 단위를 고르게 했다

배운 점

  • (습관만들기 Pawbit TIL 7로 정리 예정)
  • (크레센도 Phaser + TypeScript TIL 8로 정리 예정)
  • (안드로이드 TIL로 정리) 박 단위 그룹 레이아웃으로 세트 단위 줄바꿈 / 폭 기반 줄 수 계산 / MaterialButton 줄바꿈 방지 / shape drawable에 테마색 스트로크 / 커스텀 스피너 아이템으로 분수 UI / 시크바 틴트 3종
  • (소설 타임라인 관리 도구 Lumior TIL 1로 정리 예정)
  • (블로그 TIL로 정리 예정) 중복 제목·description·robots.txt·og:image 같은 SEO 기본기 / Pagefind의 인덱스 분할 검색 원리와 data-pagefind-* 스코핑 / Liquid static_files로 파일 존재 검사

해야 할 일

  • 습관만들기 Pawbit
    • Asset 교체 (마을 map, 숲 속, 리뮤)
    • DEV 패널 제거, 앱 아이콘/스토어 에셋
    • 연말 전시회 시네마틱
    • 실기기 검증 — 보호 기간, 광고 3회 캡, release 실광고
  • Crescendo
    • 오디오 제작
    • 엔딩 함대 전용 스프라이트
    • 밸런스 조절
  • 메트로놈 — 실기기에서 최종 확인(컴파운드 강세·줄바꿈·박자표 크기)
  • 소설 타임라인 관리 도구 Lumior
    • watchdog 실시간 반영, frontmatter 인라인 편집(백업 후 본문 미접촉)
    • 자동 매칭 안 된 해설집 수동 정리, 배포/공유 방향 검토
  • 블로그
    • Cloudflare Pages 빌드 커맨드 변경 (jekyll build 뒤에 pagefind 인덱싱 추가)
    • GTM 컨테이너에 GA4 태그 설정 여부 확인
    • 소리꽃 앱 썸네일(key-bloom.png) 추가 — og:image 자동 적용됨

Series: Daily Log

1 오늘 해낸 것 2 오늘 해낸 것 3 오늘 해낸 것 4 오늘 해낸 것 5 오늘 해낸 것 6 오늘 해낸 것 7 오늘 해낸 것 8 오늘 해낸 것 9 오늘 해낸 것 10 오늘 해낸 것 11 오늘 해낸 것 12 오늘 해낸 것 13 오늘 해낸 것 14 오늘 해낸 것 15 오늘 해낸 것 16 오늘 해낸 것 17 오늘 해낸 것 18 오늘 해낸 것 19 오늘 해낸 것 20 오늘 해낸 것 21 오늘 해낸 것 22 오늘 해낸 것 23 오늘 해낸 것 24 오늘 해낸 것 25 오늘 해낸 것 26 오늘 해낸 것 27 오늘 해낸 것 28 오늘 해낸 것 29 오늘 해낸 것 30 오늘 해낸 것 31 오늘 해낸 것 32 오늘 해낸 것 33 오늘 해낸 것 34 오늘 해낸 것 35 오늘 해낸 것 36 오늘 해낸 것 37 오늘 해낸 것 38 오늘 해낸 것 39 오늘 해낸 것 40 오늘 해낸 것 41 오늘 해낸 것 42 오늘 해낸 것 43 오늘 해낸 것 44 오늘 해낸 것 45 오늘 해낸 것 46 오늘 해낸 것 47 오늘 해낸 것 48 오늘 해낸 것 49 오늘 해낸 것 50 오늘 해낸 것 51 오늘 해낸 것 52 오늘 해낸 것 53 오늘 해낸 것 54 오늘 해낸 것 55 오늘 해낸 것 56 오늘 해낸 것 57 오늘 해낸 것 58 오늘 해낸 것 59 오늘 해낸 것 60 오늘 해낸 것 61 오늘 해낸 것 62 오늘 해낸 것 63 오늘 해낸 것 64 오늘 해낸 것 65 오늘 해낸 것 66 오늘 해낸 것 67 오늘 해낸 것 68 오늘 해낸 것 69 오늘 해낸 것 70 오늘 해낸 것 71 오늘 해낸 것 72 오늘 해낸 것 73 오늘 해낸 것 74 오늘 해낸 것 75 오늘 해낸 것 76 오늘 해낸 것 77 오늘 해낸 것 78 오늘 해낸 것 79 오늘 해낸 것 80 오늘 해낸 것 81 오늘 해낸 것 82 오늘 해낸 것 83 오늘 해낸 것 84 오늘 해낸 것 85 오늘 해낸 것 86 오늘 해낸 것 87 오늘 해낸 것 88 오늘 해낸 것 89 오늘 해낸 것 90 오늘 해낸 것 91 오늘 해낸 것 92 오늘 해낸 것 93 오늘 해낸 것 94 오늘 해낸 것 95 오늘 해낸 것 96 오늘 해낸 것 97 오늘 해낸 것 읽는 중 98 오늘 해낸 것 99 오늘 해낸 것 100 오늘 해낸 것 101 오늘 해낸 것 102 오늘 해낸 것 103 오늘 해낸 것 104 오늘 해낸 것 105 오늘 해낸 것 106 오늘 해낸 것 107 오늘 해낸 것 108 오늘 해낸 것 109 오늘 해낸 것 110 오늘 해낸 것 111 오늘 해낸 것 112 오늘 해낸 것 113 오늘 해낸 것 114 오늘 해낸 것 115 오늘 해낸 것 116 오늘 해낸 것 117 오늘 해낸 것 118 오늘 해낸 것 119 오늘 해낸 것 120 오늘 해낸 것 121 오늘 해낸 것 122 오늘 해낸 것 123 오늘 해낸 것 124 오늘 해낸 것 125 오늘 해낸 것 126 오늘 해낸 것 127 오늘 해낸 것 128 오늘 해낸 것 129 오늘 해낸 것 130 오늘 해낸 것 131 오늘 해낸 것 132 오늘 해낸 것 133 오늘 해낸 것 134 오늘 해낸 것 135 오늘 해낸 것 136 오늘 해낸 것 137 오늘 해낸 것 138 오늘 해낸 것 139 오늘 해낸 것 140 오늘 해낸 것 141 오늘 해낸 것 142 오늘 해낸 것 143 오늘 해낸 것 144 오늘 해낸 것 145 오늘 해낸 것 146 오늘 해낸 것 147 오늘 해낸 것 148 오늘 해낸 것 149 오늘 해낸 것 150 오늘 해낸 것 151 오늘 해낸 것 152 오늘 해낸 것 153 오늘 해낸 것 154 오늘 해낸 것 155 오늘 해낸 것